DHistory

JIT Compiler? 본문

Programming/Java

JIT Compiler?

ddu0422 2024. 9. 22. 23:17

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)