Language/JAVA

#JVM(Java Virtual Machine)

paran21 2022. 1. 24. 00:11
  • JVM : 자바 가상 머신
    • 가상머신 : 프로그램을 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것
  • 자바로 작성된 모든 프로그램은 자바 가상 머신에서만 실행될 수 있다.
  • 자바 프로그램을 실행하기 위해서는 반드시 자바 가상 머신이 설치되어 있어야 한다.
  • 자바 프로그램과 달리 JVM은 운영체제에 종속적이므로, 각 운영체제에 맞는 자바 가상 머신을 설치해야 한다.
  • 자바 가상 머신이라는 한 단계를 거쳐야 하므로, 상대적으로 실행 속도가 느리다는 단점을 가지고 있다.

 

  • 구성
    • 자바 인터프리터(interpreter) : 자바 컴파일러에 의해 변환된 자바 바이트 코드를 일고 해석하는 역할.
    • 클래스 로더(class loader) : 동적으로 클래스를 로딩해줌.
      • 자바는 동적으로 클래스를 읽어오므로, 프로그램이 실행 중인 런타임에서야 모든 코드가 자바 가상 머신과 연결됨.
    • JIP 컴파일러(Just-in-Time compiler) : 프로그램이 실행 중인 런타임에 실제 기계어로 변환해주는 컴파일러
      • 동적 번역(dynamic translation) : 프로그램의 실행 속도를 향상시키기 위해 개발됨
    • 가비지 컬렉터(garbage collector) : 더는 사용하지 않는 메모리를 자동으로 회수해 줌 → 개발자가 메모리를 관리하지 않아도 됨.

참고자료

http://www.tcpschool.com/java/java_intro_programming