반응형


JVM, JRE, JDK의 차이

 

많은 사람들이 자주 궁금해하는 주제인, 

JVM, JRE, JDK의 차이점에 대해서 알아보자

 

JVM

 

  • Java Virtual Machine의 약어
  • 자바가상머신이라고도 불린다.
  • 자바 프로그램을 컴파일 해서 나온 결과인 바이트코드를 실행시켜주는 가상 머신이다.

 

JVM - WORA(Write Once Run Anywhere)

 

 

 

  • 어플리케이션을 실행시켜주는 가상머신을 사용함으로써, 윈도우와 리눅스/맥 등 다양한 환경에서 언제나 동일하게 실행되도록 할 수 있다는 장점을 가지고 있다.
  • 각 운영체제별 JVM은 자바측에서 개발하여 배포하므로, 프로그래머는 운영체제에 관계없이 프로그램을 개발할 수 있어, 한번 컴파일 됐으면 운영체제에 따라 다시 컴파일할 필요가 없는 WORA(Write Once Run Anywhere)를 만족한다.

 

JRE

 

  • Java Runtime Environment의 약자로, 자바 실행 환경을 의미한다.
  • JVM을 동작하는데에 필요한 각종 자바 라이브러리를 담고 있다.

 

JDK

 

  • Java Development Kit의 약자로, 자바 개발 키트를 의미한다.
  • JRE와 javac 등의 컴파일러, 디버거등을 포함하는 프로그램이다.
  • 오라클사에서 제공하는 오라클 JDK와 오픈소스로 개발된 OpenJDK가 있으나, 일반적으로 사용되는것은 오라클 JDK이다.

 

포함관계 도식도

 

 

JVM과 JRE, JDK의 포함관계를 나타낸 가장 간단하고 이해가 쉬운 그림이다.

JVM를 사용하기 위한 라이브러리가 JRE이며, 일반적인 자바 프로그램을 실행하기 위해 사용되는것이 JRE이다.

JDK는 JRE를 포함하고 있으며, 컴파일러와 디버거등이 포함된 버전이다. 개발자라면 JDK를 설치해야한다.

 

 

참조


https://www.javacodemonk.com/

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,