DHistory
JIT Compiler? 본문
Overview
- JIT Compiler는 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법입니다.
처음 실행 시 interpret를 하면서 자주 쓰이는 코드를 캐시에 담아두었다가 재사용합니다. - Runtime 시 적용되는 기술이며 interpret과 compile을 혼합하여 사용합니다.
→ 처음 실행 시 interpret하면서 실행
→ 다음 실행 시 캐싱된 기계어 파일을 읽음 (like compile)
Interpret vs Static Compile
Interpret: 실행 중인 프로그램 코드를 읽어가면서 기계어로 번역
Static Compile: 실행하기 전에 프로그램 코드를 기계어로 번역
Java에서는 어떻게 사용할까?
- Compiler는 .java 파일을 .class 파일(bytecode)로 변경합니다. (Compile)
- JIT Compiler는 class 파일을 읽어 기계어로 번역 후 캐시에 저장합니다. (Interpret & Compile)
- Interpret: 프로그램 실행 시 기계어로 번역
- Compile: 번역한 기계어를 캐시에 저장 후 동일한 내용 실행 시 재사용
JIT Compiler는 bytecode를 각 플랫폼(OS)이 읽을 수 있는 기계어 형식으로 번역합니다.
→ WORA (Write Once Run Anywhere)