JIT compiler


JIT compiler

JVM 은 이식성을 위해 java specific instruction 을 생성하고 JVM 에서 line by line 으로 해석한다. 하지만 이런 방식은 c 같은 언어에 비해 매우 느릴 수 밖에 없다. c 는 모든 코드를 기계어로 한번에 번역하여 실행하는 반면 java 는 동일한 함수가 여러번 호출되는 경우에, 해당 함수를 번역하고 실행하는 작업이 반복되기 때문이다. 그러한 코드를 hot code 라고 하고, 잘 호출되지 않는 코드를 cold 코드라고 한다. 그래서 JIT 컴파일러를 도입하여, hot code 는 machine specific 한 기계어로 번역을 하고 캐시하는 것이다. 이런 방식으로 인터프리터 방식의 단점을 보완한다.


원문링크 : JIT compiler