Java

[Java] 자바, JVM, JDK, JRE

재담 2022. 2. 15. 22:07

JVM (Java Virtual Machine)

  • 자바 가상 머신으로서, 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT 컴파일러)하여 실행
  • 바이트 코드를 실행하는 표준이자 구현체(특정 밴더가 구현한 JVM)
  • 특정 플랫폼에 종속적

 

JRE (Java Runtime Environment) : JVM + 라이브러리

  • 자바 어플리케이션을 실행할 수 있도록 구성된 배포판
  • JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 포함

 

JDK (Java Development Kit) : JRE + 개발 툴

  • JRE + 개발에 필요한 툴
  • 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적
  • 오라클은 자바 11부터 JDK만 제공하며 JRE는 제공하지 않음

 

Java

  • JDK에 들어있는 자바 컴파일러(javac)를 사용하여 바이트 코드(.class 파일)로 컴파일 가능
  • Oracle JDK 11 버전부터 상용으로 사용 시 유료

Reference