순간을 기록으로

[Java] JDK, JRE, JVM는 차이점은 무엇일까? 본문

Development/JAVA

[Java] JDK, JRE, JVM는 차이점은 무엇일까?

luminous13 2022. 4. 18. 19:27

개요

자바를 공부하다 보면 위의 3가지 용어를 자주 접하게 됩니다. 그만큼 중요한 개념인데요. 애매한 상태로 남겨두기보다는 한 번에 확실하게 정리하는 게 좋을 것 같아서 작성하게 되었습니다. 각 개념을 설명하기 앞서 그림으로 큰 구조를 보겠습니다.

 

JDK(Java Development Kit, 자바개발키트)

- JDK란 자바 프로그램을 개발하기 위해 필요한 툴들을 모아 놓은 소프트웨어 패키지다.

- JRE + 개발도구(컴파일러, 디버거 등)

 

JRE(Java Runtime Environment, 자바실행환경)

- JRE란 자바 프로그램을 실행하기 위해 필요한 환경이다.

- JVM + 클래스 라이브러리

- 개발자뿐만이 아니라 자바 프로그램을 실행하는 사용자라면 JRE이 필요하다.

 

JVM(Java Virtual Machine, 자바가상머신)

- JVM란 자바 바이트코드(.class)을 이용해서 자바 프로그램을 실행시켜주는 프로그램이다.

-개발자가 작성한 자바 소스파일(.java)를 컴파일러(javac)가 컴파일하면 바이트코드가 되고, JVM이 이 바이트코드를 실행하여 프로그램을 실행합니다.

-JVM이 있어서 자바 프로그램은 OS에 독립적이다.

-반면에 JVM은 OS에 종속적이다.

 

 

 

 

 

 

 


Reference

 

https://pjuyeon25.medium.com/java-jdk-jre-jvm-%EC%B0%A8%EC%9D%B4-b5a60fe4653

 

[JAVA] JDK, JRE, JVM 차이

꾸준히 사용되는 프로그래밍 언어인 JAVA의 특징과 개발환경에 대해 평소 애매했던 부분을 정리하고자 한다.

pjuyeon25.medium.com

 

'Development > JAVA' 카테고리의 다른 글

[Java] 배열을 복사하는 방법  (0) 2022.05.08
[Java] 오버라이딩이란 무엇이고 왜 사용할까?  (0) 2022.04.21
[JAVA] 제네릭2  (0) 2021.11.29
[JAVA] 제네릭1  (0) 2021.11.25
[열혈자바] 18-1 자바 예외처리의 기본  (0) 2021.10.18
Comments