Programming/JAVA
JDK vs JRE vs JVM 차이점 총정리
추천캐릭터
2025. 7. 30. 08:56
728x90
반응형
✅ 한눈에 보는 차이표
구성 요소설명포함 관계주요 역할
| JDK (Java Development Kit) | 자바 개발 도구 전체 세트 | JDK ⊃ JRE ⊃ JVM | 개발 + 실행 |
| JRE (Java Runtime Environment) | 자바 실행 환경 | JRE ⊃ JVM | 실행만 가능 |
| JVM (Java Virtual Machine) | 자바 가상 머신 (실행 엔진) | JRE ⊃ JVM | 바이트코드 실행 |
🔍 1. JVM (Java Virtual Machine)
“Write once, run anywhere”를 실현시키는 핵심”
- 역할: .class 파일(바이트코드)을 실행
- 동작:
- Class Loader: 클래스를 메모리에 로딩
- Bytecode Verifier: 코드 검증
- Execution Engine: 코드 실행 (JIT 컴파일 포함)
- OS/환경별로 다름: 각 OS에 맞는 JVM이 존재
🔸 JVM만으로는 자바 코드 작성 불가
🔍 2. JRE (Java Runtime Environment)
“자바 프로그램을 실행할 수 있는 환경”
- 구성:
- JVM
- 자바 클래스 라이브러리(rt.jar)
- 필요한 기타 실행파일 (예: java 명령어)
- 목적: 자바 프로그램 실행만 가능 (컴파일 ×)
- 대상: 자바 개발이 아닌 실행만 필요한 사용자 (예: 서버 운영자)
🔸 개발 도구 없음 (javac X)
🔍 3. JDK (Java Development Kit)
“자바를 개발하기 위한 모든 도구 포함”
- 구성:
- JRE
- 개발 툴 (javac, javadoc, jar 등)
- 역할: 자바 소스 코드를 작성, 컴파일, 디버깅 가능
- 대상: 자바 개발자
🔸 JDK 설치하면 JRE, JVM 포함
[JDK]
└── [JRE]
└── [JVM]
🧠 쉽게 외우는 포인트
외우는 방법
| JVM은 바이트코드를 실행하는 엔진 |
| JRE는 JVM + 실행 라이브러리 = 실행 환경 |
| JDK는 JRE + 개발 도구 = 개발 키트 |
🎯 개발자 입장에서 요약
- 자바 코드 작성 ➡️ JDK 필수
- 자바 앱 실행만 ➡️ JRE만 설치해도 가능
- 바이트코드 실행 책임자 ➡️ JVM
728x90
반응형