Byte code로 변환되므로 컴파일 과정을 거치지 않는다.
코드가 변경되면 컴파일 과정 수행
Method 영역
JVM이 시작될 때 생성되는 공간. Byte code가 저장됨.
클래스, 변수, static 선언 변수가 저장된다.
Heap
동적으로 생성된 객체가 저장된다. new로 생성된 인스턴스가 저장. GC의 대상이 되는 공간.
Stack
지역변수, 메서드의 매개변수, 임시 사용 변수, 메서드 정보 저장 영역.
PC Register
스레드가 시작될 때 생성.
현재 수행중인 JVM 명령어 주소 저장 공간.
Native Method Stack
JAVA가 아닌 다른 언어로 작성된 코드 공간.
JNI(Java Native Interface)를 통해 호출하는 코드를 수행하기 위한 공간.
Byte code를 실행시키는 엔진
Interpreter
한줄 한줄 실행
JIT compiler
런타임에 한번에 실행
Native Method Interface
JVM에 의해 실행되는 코드 중 네이티브로 실행하기 위한 프레임워크
Native Method Library
Native Method 실행에 필요한 라이브러리