JIT 컴파일: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
편집 요약 없음
3번째 줄:
전통적인 입장에서 컴퓨터 프로그램을 만드는 방법은 두가지가 있는데, 인터프리트 방식과 정적 [[컴파일]] 방식으로 나눌 수 있다. 이 중 인터프리트 방식은 실행 중 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행하며, 반면 정적 컴파일은 실행하기 전에 프로그램 코드를 기계어로 번역한다.
 
JIT 컴파일러는 두 가지의 방식을 혼합한 방식으로 생각할 수 있는데, 실행 시점에서 인터프리트 방식으로 기계어 코드를 생성하면서 그 코드를 캐싱하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한다.
 
최근의 [[자바 가상 머신]]과 .NET, [[V8]](node.js)에서는 JIT 컴파일을 지원한다. 즉, 자바 컴파일러가 [[자바 프로그래밍 언어|자바 프로그램 코드]]를 [[바이트코드]]로 변환한 다음, 실제 바이트코드를 실행하는 시점에서 자바 가상 머신이 바이트코드를 인터프리트JIT 방식을컴파일을 통해 기계어로 변환한다.
 
== 역사 ==