앞서 자바 실행 환경(JRE)과 자바 개발 도구(JDK)란 단어가 나왔다. JRE와 JDK는 어디서 나온 것일까? 오라클 대한민국 공식 자바 홈페이지에 들어가보면 자바를 이렇게 설명하고있다.
Java는 #1 프로그래밍 언어 및 개발 플랫폼입니다.
자바는 단순 프로그래밍 언어만을 뜻하는 게 아니라 개발 플랫폼이란 개념까지 포함하고 있는 단어인 것이다.
https://www.oracle.com/kr/java/
플랫폼으로서의 자바는 자바(언어)로 기술된 프로그램 개발 및 실행을 할 수 있는 소프트웨어 모임의 총칭으로 실행환경과 개발환경을 제공한다. 이 자바 플랫폼을 구성하는 3대 요소가 바로 JDK, JRE, JVM이다.
Oracle JDK 8 https://docs.oracle.com/javase/8/docs/index.html
https://www.educative.io/edpresso/what-is-the-java-development-kit-jdk
JDK는 자바 프로그램 개발 및 실행을 위한 도구들을 모아놓은 개발 환경이다. 개발 도구에는 .java
파일을 바이트코드로 변환해주는 컴파일러인 javac와 프로그램을 실행시켜주는 java 및 역어셈블러인 javap 등이 포함되어있다. 자바 프로그램 실행 환경인 JRE 또한 포함된다.
자바 프로그램을 실행하는 환경이다. JDK에 포함된 java가 바로 이 JRE를 통해 자바 프로그램을 실행한다. 프로그램 실행을 위해 필요한 라이브러리와 JVM을 포함하고 있으며 자바 프로그램 실행만을 위해서라면 JRE로도 가능하다. 다만 오라클에선 자바 11부터 따로 JRE를 제공하지 않고 JDK만 제공하고 있다.
바이트코드로 컴파일된 .class
파일을 플랫폼에 맞춰 실행시키는 가상 컴퓨터이며 JVM을 구현하기 위한 사양과 이를 구현한 구현체를 통칭한다.