728x90
JDK와 JRE는 자바 개발 환경을 구성하는 두 가지 중요한 개념이고 자바 애플리케이션을 개발하고 실행하는 데 필수적이다. 이 두 가지는 자바 프로그래밍에 있어서 각각 다른 역할을 하며 개발자와 사용자에게 다양한 도구와 기능을 제공한다.
JDK(Java Development Kit)
JDK는 자바 개발 도구 키트로 자바 애플리케이션을 개발할 때 필요한 모든 도구들을 포함한 패키지이다.
자바 애플리케이션을 개발, 컴파일, 디버깅, 실행하는 데 필요한 도구들을 제공하는 것이 JDK의 역할이다.
JDK의 구성 요소
- JRE(Java Runtime Environment): JDK는 JRE를 포함하고 있고 JRE는 자바 애플리케이션을 실행하는 데 필요한 환경을 제공한다.
- Javac(자바 컴파일러): 자바 코드를 컴파일하여 .java 파일을 바이트코드로 변환해 .class 파일을 생성하는 컴파일러이다.
- 자바 디버거(JDB): 애플리케이션을 디버깅할 수 있도록 돕는 도구이다.
- 기타 개발 도구들: 자바 애플리케이션을 개발, 테스트, 모니터링하기 위한 다양한 도구들이 포함되어 있다.
JRE(Java Runtime Environment)
JRE는 자바 런타임 환경으로, 자바 애플리케이션을 실행할 수 있는 최소한의 환경을 제공한다. JRE는 자바 애플리케이션을 실행할 때 필요한 라이브러리와 클래스들을 포함하고 있다. 그렇기에 개발자가 아닌 일반 사용자나 서버에서는 JRE만 설치되어도 자바 애플리케이션을 실행할 수 있다.
JRE의 구성 요소
- JVM(Java Virtual Machine): 자바 프로그램을 실행하는 가상 머신이다. 자바 바이트코드를 실행하고 메모리 관리 및 가비지 컬렉션 등을 수행한다.
- 라이브러리 클래스: 자바 프로그램 실행에 필요한 표준 클래스 라이브러리 및 패키지를 제공한다.
- 기타 런타임 라이브러리: 자바 애플리케이션 실행에 필요한 다양한 리소스 및 파일들을 포함하고 있다.
JDK와 JRE의 차이점
JDK는 자바 애플리케이션을 만드는 '공장'으로 생각하면 이해가 쉽다. 코드를 작성하고, 컴파일하며, 디버깅할 수 있는 다양한 도구들이 포함된 환경이다.
JRE는 자바 애플리케이션을 실행하는 '운영 시스템'이다. 이미 완성된 자바 애플리케이션을 실행하는 데 필요한 모든 것을 제공한다.
JDK | JRE |
자바 애플리케이션 개발 | 자바 애플리케이션 실행 |
JRE, 컴파일러, 디버거 등 개발 도구 포함 | JVM, 표준 클래스 라이브러리 포함 |
자바 코드를 작성, 컴파일, 디버깅, 실행 | 자바 프로그램을 실행 |
참고문헌
728x90
'Backend > Java' 카테고리의 다른 글
[Java] DTO와 VO의 차이점 (0) | 2024.10.15 |
---|---|
[Java] 객체 생성 방법 (0) | 2024.10.15 |
[Java] 자바 캡슐화의 이해 (Encapsulation) (2) | 2024.10.09 |
[Java] JVM : Java Virtual Machine (0) | 2024.10.08 |
[Java] Exception - 자바 예외 처리 (1) | 2024.10.07 |