본문 바로가기
Java/basic

JDK, JRE의 차이

by Ellery 2022. 4. 7.

출처: https://www.javaguides.net/2019/02/java-jvm-jre-jdk-explained-with-diagrams.html

  • JRE(java runtime environment) = JVM + JAVA API
    • 배포판의 목적은 자바 어플리케이션을 '실행'하는데 필요한 요소만을 제공하는 것.
      JVM과 핵심 라이브러리, 자바 런타임 환경에서 사용하는 프로퍼티 셋팅이나 리소스 파일만을 가지고 있다. 따라서 개발 관련 도구는 제공하지 않는다. (javac 등의 개발도구는 JDK에서 제공한다.)

  • JDK = JRE + 개발툴(javadoc.exe, javac.exe, javap.exe, jar.exe...).
    • 그런데 오라클에서 자바 9버전부터는 JDK만 제공하고 JRE를 따로 제공하지 않음. 자바9 부터 모듈시스템이 들어왔는데, 이를 이용해서 나만의 JRE를 만들 수 있다.(jLink를 이용해서 모듈의 서브셋을 구성하여 JRE 구현이 가능함)

- 백기선님의 자바 온라인 스터디 https://github.com/whiteship/live-study 주제를 정리한 내용입니다.

참고
- 자바의 정석 2판
- https://www.javatpoint.com/jvm-java-virtual-machine