[Java를 실행하면 어떻게 진행이 되나요?] 1. JDK, JRE, JVM 의 연관 관계

khyojun·2022년 11월 28일
2
post-thumbnail

🔍 JVM

Java Virtual Machine의 줄임말.
직역하면 '자바를 실행하기 위한 가상 기계(컴퓨터)'라고 할 수 있다.
Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS 위에서 Java 를 실행시킬 무언가가 필요하다. 그게 바로 JVM이다.
즉, OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다.

🔍 JRE

JRE는 자바 실행 환경(Java Runtime Environment)의 약자로 자바로 만들어진 프로그램을 실행시키는데 필요한 라이브러리들과 각종 API, 그리고 자바 가상 머신 (JVM)이 포함되어 있다. JRE는 자바로 "개발(쓰기)은 안되고 실행(읽기)만 된다"라고 생각하면 될 것 같다.

🔍 JDK

JDK는 자바 개발키트(Java Development Kit)의 약자로 이름 그대로 개발자들이 자바로 개발하는 데 사용된다. JDK안에는 개발 시 필요한 라이브러리들과 javac, javadoc 등의 개발 도구들을 포함되어 있고 개발을 하려면 당연히 실행도 시켜줘야 하기 때문에 JRE (Java Runtime Environment)도 함께 포함되어 있다.

🖇 3가지의 연관 관계

위 3가지의 연관 관계는 각각의 설명에 대해서 확인해보면 약간 감이 올 수 있는데 다음 그림과 같은 관계를 유지하게 된다.

즉 JRE = JVM + 라이브러리 파일들, JDK = JRE + 개발 도구 라고 생각하면 될 거 같다.

첫 글을 연관 관계로 한 이유는 3가지 JDK,JRE,JVM에 대해서 단어만 다르고 실제 어떤 역할을 하면서 연관 관계를 가지는지 아예 몰랐었기 때문에 개념을 잡아가는 겸 다시 상기시키는 겸으로 이렇게 시작하게 되었다.

그런데 계속 살펴보다가 느낀 것이 이렇게 헷갈리는 JDK, JRE에서 항상 포함되어있는 JVM이라는 친구는 얼마나 중요할 지에 대한 의문이 들었다.
실제로 JAVA에서도 가장 중요한 친구는 JVM이며 시리즈의 제목에 대한 질문을 받고 설명하기 위해서도 JVM에 대해서 아주 잘 알아야 한다. 위 설명에서처럼 일단 간단하게 설명을 했지만 다음 글 부터는 JVM이라는 친구에 대해서 아주 깊게 살펴보자!

출처

profile
코드를 씹고 뜯고 맛보고 즐기는 것을 지향하는 개발자가 되고 싶습니다

0개의 댓글