본문 바로가기

Programming/Java

[Java] JVM, JDK, JRE의 차이

JVM(Java Virtual Machine)

JVM은 자바 가상 머신으로 자바 소스코드(.java)를 컴파일하면 생기는 자바 바이트 코드(.class)를 OS에 맞게 변환하여 실행하는 역할을 한다. 따라서, 특정 플랫폼에 종속적이게 된다.

 

특정 밴더(ex. 오라클, 아마존, Azul, ...)에 따라 여러가지로 구현되어 있는데 JVM은 단독적으로 배포되지 않고 최소한의 배포단위는 JRE이다.

 

 

JRE(Java Runtime Environment)

JVM + 라이브러리

 

자바 실행 환경, 자바 애플리케이션을 실행할 수 있도록 구성되어 있다.

JVM과 핵심 라이브러리, 자바 런타임에서 사용하는 프로퍼티 세팅이나 리소스 파일 등을 포함하고 있다.

 

하지만, 개발 관련 도구를 제공하지 않기 때문에 JRE만 설치한다면 Java를 사용한 개발을 할 수 없다!

 

 

JDK(Java Development Kit)

JRE + Development Tools(개발 툴)

 

개발에 필요한 도구(javac, java 등)들을 제공한다.