JIT (just-in-time) compiler ; JIT 컴파일러

자바 프로그램 언어 환경에서, JIT 컴파일러는 자바 바이트코드 (반드시 해석되어야만 하는 명령어를 포함한 프로그램)를, 프로세서에게 직접 전달될 수 있는 명령어로 바꾸어주는 프로그램이다. 하나의 자바 프로그램을 작성하고 나면, 소스 문장은 자바 컴파일러에 의해 바이트코드로 변환되는데, 이는 특정 하드웨어 플랫폼의 프로세서(예를 들면, 인텔의 펜티엄 마이크로프로세서, 혹은 IBM의 System/390 프로세서 등)에 맞는 명령어를 포함한 코드가 아니라, 어떤 플랫폼에도 인식되고, 실행 가능한, 플랫폼에 독립적인 코드이다.

과거에는, 특정 언어로 쓰여진 대부분의 프로그램들이 반드시 각각의 컴퓨터 플랫폼에 맞게 다시 컴파일 되어져야 했고, 경우에 따라서는 다시 작성되어야 하는 경우도 있었다. 자바의 가장 큰 장점은, 프로그램 작성과 컴파일을 단 한번만 하면 된다는 것이다. 한 플랫폼의 자바 가상머신은 컴파일된 바이트코드를 특정 프로세서가 인식할 수 있는 명령어로 해석한다. 그러나, 가상머신은 한번에 한 개의 바이트코드 명령어만을 다룰 수 있다. 특정 시스템 플랫폼에 있는 JIT 컴파일러 (실제로 2번째 compiler)를 사용하여, 바이트코드를 특정 시스템의 코드로(마치 그 프로그램이 처음부터 그 플랫폼에서 컴파일된 것처럼) 컴파일 할 수 있다. 코드가 일단 JIT 컴파일러에 의해 (다시) 컴파일되면, 대체로 그 컴퓨터에서 더 빠른 속도로 실행된다.

JIT 컴파일러는 가상머신과 함께 제공되며, 사용 여부는 선택에 달려있다. 이것은 바이트코드를 특정 플랫폼에 딱 맞아서, 즉시 실행 가능한 코드로 컴파일 한다. 썬 마이크로시스템즈는, 특히 실행 가능한 메쏘드가 반복적으로 재사용될 경우에, JIT 컴파일러를 선택하는 것이 대체로 빠르다고 말하고 있다.

썬 마이크로시스템즈에서 자바 JIT 컴파일러 개관에 대해 정보를 제공하고 있습니다.


이 정보는 2000년 2월 21일에 수정되었으며, 김명진님께서 도움을 주셨습니다.
영어판(whatis.com)