JVM (Java Virtual Machine) 정의
JVM 구성
1. Class Loader (클래스 로더)
2. Execution Engine (실행 엔진)
Interpreter (인터프리터)
JIT Compiler (Jst In Time Compiler)
결론 : JVM은 인터프리팅 방식을 사용하다가 일정 기준이 넘어가면 JIT 컴파일러를 사용하는 혼합 방식
chat-gpt 검색
JIT 컴파일러는 Just-In-Time 컴파일러의 줄임말로, 바이트코드를 실행하기 전에 바로 네이티브 코드(기계어)로 변환하는 기술을 가리킵니다. 이는 소스 코드를 직접 기계어로 변환하는 것과는 약간 다릅니다.
간단히 말해, 소스 코드를 컴파일할 때 대부분의 경우 중간 단계의 바이트코드가 생성됩니다. 바이트코드는 자바와 같은 언어에서 사용되는 중간 형태의 코드로, 자바 가상 머신(JVM)에서 실행됩니다. 이 바이트코드는 기계어보다는 추상화된 형태이며, 각 운영 체제의 기계어와는 상이한 구조를 가집니다.
JIT 컴파일러는 이러한 바이트코드를 실제 실행 시점에 동적으로 네이티브 코드로 변환하여 실행합니다. 이 변환 과정을 거쳐서 기계어로 된 코드를 직접 실행하므로, 이전에 컴파일한 바이트코드보다 훨씬 빠른 실행 속도를 얻을 수 있습니다. JIT 컴파일러는 실행 시간에 필요한 부분만 네이티브 코드로 변환하며, 이를 통해 최적화된 실행 성능을 제공합니다.
따라서, JIT 컴파일러는 소스 코드를 컴파일하여 기계어로 변환한다는 의미와 비슷하며, 실행 시점에서 동적으로 이 변환 작업을 수행하는 것을 강조합니다.
출처
https://code-lab1.tistory.com/92
chat-gpt