Skip to content

JVM 구조

Jeonghyun Kang edited this page Jul 9, 2022 · 2 revisions

JVM 구조

클래스 로더 시스템

  • 로딩
  • 링크 (메모리 적재)
  • 초기화

메모리

공유 자원

  • 메소드 영역
    • 클래스 이름
    • 부모 클래스 이름
    • 메소드
    • 변수
  • 힙 영역
    • 객체

쓰레드 종속 자원

  • 스택
    • 메소드 호출(콜) 스택
  • PC 레지스터
    • 스택 프레임을 가리키는 포인터
  • 네이티브 메소드 스택
    • 실행엔진
    • JNI (Java Native Interface)
      • native라는 키워드가 붙은 메소드는 java가 아닌 다른 언어로 구현된 메소드임.

실행 엔진

  • 인터프리터: 바이트 코드를 한 줄씩 실행
  • JIG 컴파일러: 반복되는 코드를 모두 네이티브 코드로 바꿔준다. (성능향상)
  • GC: Garbage Collector