kiwi

JDK vs JRE vs JVM

by 키위먹고싶다

각 단어의 정확한 명칭

JDK

Java Development Kit / 자바 개발 도구 

JRE 

Java Runtime Environment / 자바 실행 환경

JVM

Java Virtual Machine / 자바 가상 기계 

 

의미 

JVM은 가상 기계이며 JRE는 JVM용 운영체제, JDK는 JVM용 소프트웨어 개발 도구이다. 컴퓨터를 구동하기 위해 물리적인 하드웨어, 운영체제, 그 안에서 작동될 소프트웨어를 개발할 수 있는 도구가 필요한것처럼 가상세계에서 현실세계를 그대로 모방하여 사용하고 있다.  

 

배포 형태

배포 형태는 조금 다른데 JDK가 JRE를 포함하고 JRE가 JVM을 포함하는 형태르 배포된다. 

자바 프로그램의 개발과 구동

JDK는 자바 소스 컴파일러인 javac.exe를 포함하고 있고, JRE는 자바 프로그램 실행기인 java.exe를 포함하고 있다. 왜 저런 구조를 선택했는지 생각해보면 기존 언어로 작성한 프로그램이 윈도우 95용, 윈도우 XP용, 윈도우 8용, 리눅스용, 

맥 OS등의 플랫폼 (하드웨어와 OS조합) 용으로 배포되는 설치 파일을 따로 준비해야 할 불편함을 없애기 위해서이다. 

만약 사용중인 플랫폼에 설치된 JVM용으로 프로그램을 작성하고 배포하면 각 플랫폼에 맞는 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는데 아무런 문제가 없을것이다. 이러한 자바의 특성을 Write Once Run Anywhere이라고 한다.

'java' 카테고리의 다른 글

인터프리터 VS JIT 타이밍  (0) 2023.04.30
[java] concurrent package 정리  (0) 2022.08.19
자바 동기화 클래스  (0) 2022.06.28
자바의 메모리 구조  (0) 2022.04.08
가비지컬렉터(Garbage Collector)  (0) 2022.02.05

블로그의 정보

kiwi

키위먹고싶다

활동하기