hyeonga_code

JVM_03_ JVM 구성 요소_실행 엔진 Execution Engine 본문

JVM

JVM_03_ JVM 구성 요소_실행 엔진 Execution Engine

hyeonga 2024. 5. 8. 07:59
반응형

JVM 구성 요소

- Class Loader
    - Bootstrap Class Loader
    - Extension Class Loader
    - System/Application Class Loader
- Execution Engine
- Runtime Data Area

 

실행 엔진 Execution Engine

로딩된 클래스 파일들의 바이트코드를 실행합니다.
바이트코드는 기계어가 아니므로 JVM 내부에서 실제 CPU가 이해할 수 있는 기계어로 변환합니다.
이 과정에서 필요한 요소는 인터프리터JIT_Just In Time 컴파일러 가 사용됩니다.

Interpreter

인터프리터는 JVM이 로드한 바이트코드를 한 줄씩 읽으면서 실행합니다.
이 방식은 간간하고 바이트코드를 즉시 실행할 수 있습니다.
반복적인 코드의 경우 매번 같은 코드를 해석해야하므로 실행 속도가 느릴 수 있습니다.

 

JIT_Just In Time

JIT 컴파일러는 인터프리터의 단점을 보완하기 위해 도입되었습니다.
프로그램 실행 도중에 바이트코드 전체 또는 일부를 기계어로 변환하는 방식을 사용합니다.
이렇게 변환된 코드는 캐시에 저장되어 동일한 코드가 다시 실행될 때 빠르게 재실행될 수 있습니다.
실행되는 애플리케이션의 성능을 실시간으로 분석하고, 자주 실행되는 코드(핫 스팟)을 효율적으로 최적화합니다.

반응형