본문 바로가기

Programming Language/Java

JVM, JDK, JRE 란?

JDK, JRE, JVM? 처음 자바 개발을 하다 보면 생소한 단어들을 듣게 된다. Java를 다운 받으려고 하는데 어떤걸 받아야 할까? 기초적인 내용을 알아보자.

이미지 출처 : https://simplesnippets.tech/jdk-vs-jre-vs-jvm-in-java-whats-the-difference/

JVM (Java Virtual Machine)

말 그대로 가상 머신이다. 자바 바이트 코드가 실행 될 수 있는 런타임 환경을 제공한다.
JVM은 플랫폼에 독립적이지 않다. 각 OS 플랫폼 별로 다른 JVM을 설치 해야 한다.
JVM은 대표적으로 아래와 같은 기능을 수행한다.

  • 코드를 읽어들인다.
  • 코드를 검증한다.
  • 코드를 실행한다.
  • 런타임 환경을 제공한다.

JRE (Java Runtime Environment)

자바 실행 환경을 뜻한다. Java 프로그램 실행기인 java.exe를 포함한다.
JVM의 구현체이다. JRE는 JVM과 다르게 물리적으로 존재한다. JVM이 런타임에 사용하는 라이브러리 파일과 기타 파일들을 포함 하고 있다. JRE 또한 플랫폼에 독립적이지 않다. Sun Micro Systems 이외에 여러 다른 플랫폼 용으로 출시된다. JVM과 라이브러리 파일로 이루어져 있다.

JDK (Java Development Kit)

자바 개발 도구를 뜻한다. JDK는 JRE와 개발도구를 포함한다.
Java 소스 컴파일러인 javac.exe를 포함한다. JDK 또한 플랫폼에 독립적이지 않다.

 

JDK는 JRE를 포함하고, JRE는 JVM을 포함하는 형태로 배포된다.
JDK, JRE, JVM은 모두 플랫폼에 독립적이지 않다고한다. 그럼 각 플랫폼에서의 개발과 구동은 어떻게 할까?
다음 글에서 알아보자.

참조

https://simplesnippets.tech/jdk-vs-jre-vs-jvm-in-java-whats-the-difference/

'Programming Language > Java' 카테고리의 다른 글

Mybatis Executor, PreparedStatement  (0) 2021.05.15
Java 프로그램 개발과 구동  (0) 2021.03.11
빌드도구란? (Maven, Gradle)  (0) 2021.02.01