Java에서 JIT 컴파일러라는 단어를 들어보았을 것이다. 들어보긴 했는데 시간이 지나면서 기억하고 있던 개념이 맞는지 희미해져서 이참에 내용 정리를 해보려고 한다. 기존 컴퓨터 프로그램을 만드는 방법은 두 가지가 있는데 그게 바로 인터프리트 방식과 정적 컴파일 방식이다. 인터프리트 방식은 실행 중에 언어를 읽으면서 대응되는 기계어 코드를 실행하는 것이고 정적 컴파일은 실행하기 전에 이미 프로그램 코드를 기계어로 번역을 마쳐놓는 방식이다. 우선 Just in time Compiler 라는 뜻이고 위에서 언급한 두 가지 방식을 혼합한 방식이라고 생각하면 된다. 실행 시점에 인터프리트 방식으로 기계어 코드를 생성하는데 그 코드를 캐싱해서 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한..