Java 환경에서 개발 또는 배포를 수행하다보면 JDK, JRE, JVM에 대한 의문점이 생긴다. 각각 어떤 역할을 하는지 간단하게 아래와 같이 정리해 본다.

 

 

# JVM (Java Virtual Machine)

자바 가상 머신이라고 불리우며, 자바에서 생성되는 Class 파일을 실행한다.

JVM은 운영체제에 의존하지 않고 플랫폼에 의존하여 동작한다.

단지, JVM은 Class 파일을 읽고 검증하고 실행하는 역할에 충실하다.

 

 

# JRE (Java Runtime Environment)

JVM이 Class 파일을 실행하기 위해 필요한 라이브러리 파일 등을 가지고 있다.

JRE는 JVM을 포함하며 서로 연관된 관계를 가지고 있다.

 

 

# JDK (Java Development Kit)

Java 환경의 어플리케이션을 구현하기 위해 필요한 도구로써 java.exe, javac.exe를 포함하고 있다.

개발자가 아닌 사용자 입장에서는 굳이 불필요하며, 기본적으로 JRE + 개발자 도구로 생각하면 쉽다.

 

 

가령, 이클립스 툴을 통해 Java 어플리케이션을 개발한다면 JDK가 필요하다.

하지만, Tomcat 웹서버를 구동하기 위해서는 JRE만 필요하다.

Tomcat은 사용자 입장에서 Class 파일만 구동시킬 수 있으면 그만이다.

 

 

  1. 비밀댓글입니다

Private comment