JAVA 내부: JDK, JRE, JVM, 그리고 JIT!
Source: Dev.to
JDK (Java Development Kit)란?
JDK는 Java 프로그램을 작성하고 개발하는 데 필요한 도구들을 제공합니다.
프로그램을 작성하고 컴파일하면, JDK는 Java 컴파일러(javac)를 사용해 구문 오류를 확인하고 라인 번호와 함께 보고합니다. 오류가 없으면 컴파일러는 .java 소스 파일을 .class 바이트코드 파일로 변환합니다.
JRE (Java Runtime Environment)란?
JRE는 Java 애플리케이션을 실행하는 데 필요합니다. 컴파일된 .class 파일을 받아 시스템에서 실행합니다. 또한 JRE는 프로그램 실행 중에 필요한 핵심 라이브러리를 제공합니다.
JVM (Java Virtual Machine)란?
- 바이트코드를 기계어 코드로 변환합니다.
- 메모리(힙 및 스택)를 관리합니다.
- 프로그램을 실행하여 Java의 “한 번 작성하면 어디서든 실행”(WORA) 기능을 가능하게 합니다.
JIT (Just‑In‑Time Compiler)
JIT 컴파일러는 JVM 실행 엔진의 일부입니다. 런타임에 바이트코드를 네이티브 기계어 코드로 변환하여 성능을 향상시키고 Java 프로그램을 더 빠르게 실행합니다. 인터프리터가 코드를 한 줄씩 실행하는 반면, JIT은 자주 사용되는 코드 경로를 컴파일하여 속도를 높입니다.