최신글
hyeonga_code
JVM_03_ JVM 구성 요소_실행 엔진 Execution Engine 본문
반응형
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 컴파일러는 인터프리터의 단점을 보완하기 위해 도입되었습니다.
프로그램 실행 도중에 바이트코드 전체 또는 일부를 기계어로 변환하는 방식을 사용합니다.
이렇게 변환된 코드는 캐시에 저장되어 동일한 코드가 다시 실행될 때 빠르게 재실행될 수 있습니다.
실행되는 애플리케이션의 성능을 실시간으로 분석하고, 자주 실행되는 코드(핫 스팟)을 효율적으로 최적화합니다.
반응형
'JVM' 카테고리의 다른 글
JVM_06_JVM 구성 요소_런타임 데이터 영역_스택 영역 (0) | 2024.05.08 |
---|---|
JVM_05_JVM 구성 요소_Runtime Data Area_힙 영역 (0) | 2024.05.08 |
JVM_04_JVM 구성 요소_런타임 데이터 영역 Runtime Data Area (0) | 2024.05.08 |
JVM_02_JVM 구성 요소_클래스 로더 Class Loader (0) | 2024.05.08 |
JVM_01_JVM이 무엇인가? (0) | 2024.05.08 |