본문 바로가기
JAVA

JVM, JRE, JDK에서의 차이점은 무엇인가?

by helloissue 2021. 8. 16.

JVM, JRE, JDK에서의 차이점은 무엇인가?
JVM, JRE, JDK에서의 차이점은 무엇인가?

JVM ( Java Virtual Machine )-자바 가상 머신이란?

1. 자바 가상 머신, 자바로 애플리케이션을 가동하기 위한 또 다른 서브 프로그램이며, 프로그램의 CLASS파일을 메모리로 적재하는 것이 주요 기능입니다. 
2. OS(Operating System)가 무엇이냐에 따라 OS 별로 다른 컴파일을 해주었던 불편함을 개선하여 한 번의 컴파일로 모든 OS에 적용 가능하다는 장점이 있습니다.
3. 메모리 해제의 번거로움을 GC(Garbage Correcter)에 의해 자동으로 해제하여, 좀 더 수월하게 개발에 집중할 수 있습니다.

 

JAVA는 OS에 종속적이지 않고, 어느 장치든 JVM 위에서 실행할 수 있습니다
JAVA는 OS에 종속적이지 않고, 어느 장치든 JVM 위에서 실행할 수 있습니다

 

JDK( Java Development Kit )-자바 개발도구란?

자바 개발 키트(Java Development Kit, JDK)이며, 개발에 필요한 라이브러리들과 함께, 핵심 기능인 JAVA는 자바 파일을 JVM이 해석 가능한 중간단계의 CLASS 파일로 변환이 가능하다. JVM은 이 CLASS 파일을 각 운영체제에 맞는 기계어로 번역함으로써 프로그램의 가동이 가능합니다. 

 

JDK,JRE의 차이
JDK,JRE의 차이

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

1. JDK가 개발자를 위한 도구라면, JRE는 그 반대인 개발자가 아닌, 일반 사용자 처지에서의 자바 실행을 위한 환경 도구라고 생각하면 된다. JRE는 읽기만을 수행한다면 JDK는 읽기, 수정이 가능하다. 즉 일반사용자 입장에서의 실행을 위한 최소한의 자바 파일들의 집합이라고 보면 된다.

 

여행을 다니다 보면 나라마다 콘센트 규격, 전압 등이 각기 다른데, 이런 다름에도 우리가 노트북이나 핸드폰 충전기를 보면 어댑터라는 것이 있어 사용할 수 있다. 이처럼 JVM은 핸드폰+어댑터의 느낌이고 , JRE는 우리가 핸드폰 개발자는 아니기 때문에 그냥 핸드폰을 자체를 JRE라고 생각하면 어느 정도 비유가 맞는다고 할 수 있다. JDK는 핸드폰의 개발자 모드로 진입하여 프로그램의 순서 환경설정을 변경하는 단계 또는 프로그램을 직접적으로 수정하는 단계까지가 JDK라고 생각하면 좀 더 이해하기가 쉽다.

 

댓글