JDK, JVM, JRE 는 자바 애플리케이션을 개발하고 실행하기 위한 자바 플랫폼의 3대 구성요소이다.
JDK
= Java Development Kit. 개발에 필요한 자바 컴파일러 같은 것들과 JRE와 JVM을 포함한다.
JRE
= Java Runtime Environment. 자바의 런타임, 개발에 유용한 자바 라이브러리를 담고 있다. 자바 프로그램을 실행만 한다면 JRE만 있어도 된다.
JVM
= Java Virtual Machine. 자바 바이트 코드를 실행한다.
위의 과정을 통해 자바 소스코드가 실행된다.
JVM은 자바 프로그램을 컴파일해서 나온 결과인 바이트코드를 실행시켜주는 가상 머신이다. 이를 사용하여 OS에 상관없이 언제나 동일하게 실행되도록 할 수 있다. 각 OS 별 JVM은 자바 측에서 개발하여 배포하므로 프로그래머는 OS에 관계없이 프로그램을 개발할 수 있어 한 번 컴파일 됐으면 OS에 따라 다시 컴파일 할 필요가 없는 Write Once Run Anywhere을 만족한다.
JRE는 자바 실행 환경을 의미한다. JVM을 동작하는데에 필요한 각종 자바 라이브러리를 담고 있다.
JDK는 자바 개발 키트를 의미한다. JRE와 javac 등의 컴파일러, 디버거 등을 포함하는 프로그램이다.
JVM을 사용하기 위한 라이브러리가 JRE이며, 일반적인 자바 프로그램을 실행하기 위해 사용되는 것이 JRE이다. JDK는 JRE를 포함하고 있으며 컴파일러와 디버거 등이 포함된 버전이다. (개발자라면 JDK를 설치해야한다.)