JVM
Java Virtual Machine
자바 애플리케이션 실행을 위한 런타임 환경
- 실제 컴퓨터로부터 자바 애플리케이션 실행을 위한 메모리를 할당받아 Runtime Data Area를 구성
- 인터프리터, JIT 컴파일러를 통해 바이트 코드를 각 OS에 맞는 기계어로 해석해 실행시키고 GC를 통해 애플리케이션의 동적 메모리 관리
JDK
Java Development Kit
자바 개발 환경
- 자바 애플리케이션 개발에 필요한 도구 제공
- 자바 언어를 바이트 코드로 컴파일하는 자바 컴파일러(javac), 자바 클래스 파일을 해석하는 역어셈블리어(javap) 등
JRE
Java Runtime Environment
자바 실행 환경
- JVM, 자바 클래스 라이브러리, 기타 자바 애플리케이션 실행에 필요한 파일 포함