hyeonga_code

JVM_07_JVM 구성 요소_런타임 데이터 영역_PC 레지스터 본문

JVM

JVM_07_JVM 구성 요소_런타임 데이터 영역_PC 레지스터

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

JVM 구성 요소

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

 

런타임 데이터 영역 Runtime Data Area

 

프로그램의 실행 도중 사용되는 다양한 데이터를 저장하는 영역입니다.
클래스 로딩 과정이 완료되면 로드된 클래스에 대한 정보를 저장합니다.

주요 런타임 데이터 영역
  - 메소드 영역
  - 힙 영역
  - 스택 영역
  - PC 레지스터
  - 네이티브 메소드 스택

PC 레지스터 Program Counter Register

현재 실행중인 JVM 명령어의 주소를 저장하므로 스레드가 실행하는 코드를 지시하는 역할입니다.
현재 실행중인 JVM 바이트코드 명령 주소를 찾고 다음 실행 명령어를 결정합니다.
자신만의 PC 레지스터를 가지고 있어 스레드별로 독립성이 보장됩니다.
스레드가 대기 상태로 전환 혹은 실행 상태로 복귀 시 실행 지점을 저장하고 복구하는 컨텍스트 스위칭이 가능합니다.
JVM이 클래스의 메소드를 실행시킬 때 해당 메소드의 바이트코드 내에서 명령어의 위치를 표시합니다.

반응형