- 즉, OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터입니다.
자바컴파일러
-내가 작성한 Java 코드들(.java 파일)은 CPU가 인식을 하지 못하므로 기계어로 컴파일을 해주어야 합니다. 그래서 운영체제가 읽을 수 있는 바이트 코드💬(.class 파일)로 변환 시켜주는 것이 Java compiler 입니다.
인터프리터
- 운영체제가 읽은 바이트 코드💬를 명령어 단위로 읽어서 실행합니다.
- 한 줄씩 수행하기 때문에 느리다는 단점이 있습니다.
JIT(Just-In-Time) 컴파일러
- 인터프리터 방식으로 실행하다가 적절한 시점에 바이트 코드 전체를 컴파일하여 기계어로 변경한 후에는 기계어로 직접 실행하는 방식이다.
- 인터프리터의 효율을 높여주는 서포터 해석기입니다.
클래스 로더
- JVM 내로 클래스 파일(*.class)을 로드하고, 링크를 통해 배치하는 작업을 수행하는 모듈입니다.
- JVM으로 class(바이트 코드💬)를 불러와서 메모리🗂️에 저장하는 역할을 합니다.