devlog

JVM, JRE, JDK : 자바코드를 실행한다. 본문

프로그래밍언어/Java

JVM, JRE, JDK : 자바코드를 실행한다.

Dev-SeeOne 2020. 8. 9. 20:34

Java JVM, JDK, JRE


JVM (Java Virtual Machine)

  • 자바 가상 머신으로 자바 바이트 코드를 OS에 특화된 코드로 변환(인터프리터 + JIT)하여 실행
  • 특정 플랫폼에 종속적이다.

JRE (Java Runtime Environment) : JVM + Library

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

 

자바를 실행하는 것이 목적이기 때문에 .class 파일만 있으면 실행가능하다. 때문에 자바와 의존성이 타이트하지 않는다.

즉, JVM 기반으로 동작하는 프로그래밍언어로 작성된 프로그램들은 자바가 아니여도 JRE 환경에서 실행가능하다.

JDK (Java Development Kit) : JRE + Development Tools

  • JRE + 개발에 필요한 툴
  • 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적이다.
  • 오라클은 자바 11부터 JDK만 제공하며 JRE를 따로 제공하지 않는다.
  • Java 9 부터 모듈 시스템을 제공하므로 사용자 정의 JRE를 구성할 수 있다.
  • Write Once Run Anywhere
Comments