💻 IT/📌 Java

[JAVA] JVM, JRE, JDK 차이점 :: 용어는 비슷하지만 용도는 다르다!

GODSU 2022. 3. 20. 06:00
반응형

 

대학생때 배웠던 JVM, JRE, JDK에 대해서 정리해보겠습니다.

처음 JAVA 개발을 하면서 이것저것 깔면서 JDK, JRE 용어들이 나왓는데 그 당시에는 똑같거니~ 하고 넘겼는데 막상 실무에서 일하다보니 명확히 다른점을 느꼈다. 요번기회에 명확히 정리해봐야겠다!

 

 

반응형

 

JVM

JVM은 자바 가상머신(JAVA Virtual Machine)의 약자이다.

개발자가 소스코드 파일(.java)를 컴파일하면 자바 바이너리파일(.class)이 만들어지는데 이 클래스파일을 실행하는 것이 JVM이다. 

JVM은 플랫폼에 의존적이다. 즉, 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다.

 

[JVM 역할]

- 바이너리 코드를 읽고 검증하고 실행한다.

- 실행환경의 규격을 제공한다.

 

 

JRE

JRE는 자바 실행환경(Java Runtime Environment)의 약자이다.

JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다. 

즉, JAVA 개발하는데 필요는 없는데, 개발한 것을 실행하기 위해서는 필요하다.

 

 

JDK

JDK(Java Development Kit)의 약자이다.

위에 그림에서 설명했던 것 처럼, JDK는 JRE+개발을 위해 필요한 도구들이 포함된다.

 

 

사용자 입장에서는 단순 실행만 시킬 것이라면 JRE만 설치하면되고, Java 개발라면 JDK를 설치하면된다!

 

 

 

 

 

 

반응형