본문 바로가기

Programming/Java

JDK vs JRE vs JVM

출처 https://www.journaldev.com/546/difference-jdk-vs-jre-vs-jvm

JVM

출처 https://javatutorial.net/jvm-explained

  • Java Virtual Machine
  • .class파일 (byte code) 을 플랫폼(OS)에 맞추어 돌아갈 수 있도록 필요한 처리를 해준다
  • 수행 역할 및 구성
    • Class Loader
      • Loading
      • Linking
      • Initialization
    • Execution
      • Intepreter
      • JIT compiler
      • Garbage Collector
    • Runtime Data Area
    • Class Library, Native Method Library와도 연결시켜준다.

 

JRE

  • Java Runtime Environment
  • 자바 실행 환경
  • 말 그대로 자바 프로그램을 실행할 수 있는 최소한의 환경을 구성해주는 것이다.
  • JRE = JVM + 클래스 라이브러리(Java API)

 

JDK

  • Java Development Kit
  • 자바 개발 도구
  • 말 그대로 Java프로그램을 작성/개발하기 위한 Kit을 말한다.
  • 그러므로, 당연히 JRE/JVM을 포함하고 있어야 한다.
  • JDK = JRE + 개발에 필요한 실행 파일 (javac.exe 등)