1. JDK(Java Development Kit)
- JDK = JRE + 개발 도구
- JDK는 Java 프로그램을 개발하고 실행하는 데 필요한 전체 패키지
- 컴파일러(javac), 디버거(jdb), JAR 생성 도구(jar) 등을 포함
- 개발 목적일 때 필요
JRE | Java 프로그램 실행 환경 (JDK 안에 포함) |
javac | Java 컴파일러 (.java → .class) |
java | Java 실행 명령어 (.class 파일 실행) |
jar | JAR 파일을 생성하는 도구 |
jdb | Java 디버거 (디버깅 도구) |
jshell | Java 코드 테스트 도구 (JDK 9부터 지원) |
2. JRE(Java Runtime Environment)
- JRE = Java 실행 환경 (JVM + 필수 라이브러리 포함)
- JRE는 Java 프로그램을 실행하는 데 필요한 환경
- Java 애플리케이션 실행은 가능하지만, 개발(컴파일) 불가능
- Java 프로그램 실행만 필요할 경우
- javac(컴파일러) 없음 → Java 코드 수정 불가
- Java 애플리케이션 실행만 가능 (java 명령어 사용 가능)
JVM (Java Virtual Machine) | 바이트코드를 실행하는 가상 머신 |
Java API 라이브러리 | rt.jar (String, List, HashMap 등 기본 API 포함) |
java 실행 파일 | Java 애플리케이션 실행 (java 명령어) |
JDK vs JRE 차이점 요약
구분 | JDK | JRE |
설명 | Java 개발 & 실행 가능 | Java 실행만 가능 |
포함 관계 | JDK 안에 JRE 포함 | JDK가 필요 없음 |
Java 실행 (java 명령어) | ✅ 가능 | ✅ 가능 |
Java 컴파일 (javac 명령어) | ✅ 가능 | 불가능 |
개발 도구 (디버거, JAR 생성 등) | ✅ 포함 | 없음 |
사용 대상 | 개발자 (개발 + 실행) | 일반 사용자 (실행만) |
'백엔드 > Java' 카테고리의 다른 글
[Java] 예외처리(Exception) (0) | 2021.03.30 |
---|---|
[Java] Thread(쓰레드) (0) | 2021.03.29 |
[Java] ImageIcon의 이미지 크기 변경하기 (0) | 2021.03.25 |
[Java] 인터페이스(interface) (0) | 2021.03.16 |
[Java] 상속 (0) | 2021.03.16 |