[Java] JDK와 JRE의 개념과 차이점

728x90

JDKJRE는 자바 개발 환경을 구성하는 두 가지 중요한 개념이고 자바 애플리케이션을 개발하고 실행하는 데 필수적이다. 이 두 가지는 자바 프로그래밍에 있어서 각각 다른 역할을 하며 개발자와 사용자에게 다양한 도구와 기능을 제공한다. 

 

JDK(Java Development Kit)

JDK는 자바 개발 도구 키트로 자바 애플리케이션을 개발할 때 필요한 모든 도구들을 포함한 패키지이다.

자바 애플리케이션을 개발, 컴파일, 디버깅, 실행하는 데 필요한 도구들을 제공하는 것이 JDK의 역할이다.

JDK의 구성 요소

  1. JRE(Java Runtime Environment): JDK는 JRE를 포함하고 있고 JRE는 자바 애플리케이션을 실행하는 데 필요한 환경을 제공한다.
  2. Javac(자바 컴파일러): 자바 코드를 컴파일하여 .java 파일을 바이트코드로 변환해 .class 파일을 생성하는 컴파일러이다.
  3. 자바 디버거(JDB): 애플리케이션을 디버깅할 수 있도록 돕는 도구이다.
  4. 기타 개발 도구들: 자바 애플리케이션을 개발, 테스트, 모니터링하기 위한 다양한 도구들이 포함되어 있다.

JRE(Java Runtime Environment)

JRE는 자바 런타임 환경으로, 자바 애플리케이션을 실행할 수 있는 최소한의 환경을 제공한다. JRE는 자바 애플리케이션을 실행할 때 필요한 라이브러리와 클래스들을 포함하고 있다. 그렇기에 개발자가 아닌 일반 사용자나 서버에서는 JRE만 설치되어도 자바 애플리케이션을 실행할 수 있다.

JRE의 구성 요소

  1. JVM(Java Virtual Machine): 자바 프로그램을 실행하는 가상 머신이다. 자바 바이트코드를 실행하고 메모리 관리 및 가비지 컬렉션 등을 수행한다.
  2. 라이브러리 클래스: 자바 프로그램 실행에 필요한 표준 클래스 라이브러리 및 패키지를 제공한다.
  3. 기타 런타임 라이브러리: 자바 애플리케이션 실행에 필요한 다양한 리소스 및 파일들을 포함하고 있다.

JDK와 JRE의 차이점

JDK는 자바 애플리케이션을 만드는 '공장'으로 생각하면 이해가 쉽다. 코드를 작성하고, 컴파일하며, 디버깅할 수 있는 다양한 도구들이 포함된 환경이다.

JRE는 자바 애플리케이션을 실행하는 '운영 시스템'이다. 이미 완성된 자바 애플리케이션을 실행하는 데 필요한 모든 것을 제공한다.

 

 

JDK JRE
자바 애플리케이션 개발 자바 애플리케이션 실행
JRE, 컴파일러, 디버거 등 개발 도구 포함 JVM, 표준 클래스 라이브러리 포함
자바 코드를 작성, 컴파일, 디버깅, 실행 자바 프로그램을 실행

 

참고문헌

 

JRE란 무엇인가요? - Java 런타임 환경 설명 - AWS

Java 런타임 환경(JRE)은 운영 체제 외에 실행되어 추가적인 Java 관련 리소스를 제공합니다. Java 개발 키트(JDK)와 JRE는 상호 작용하여 모든 시스템에서 Java 프로그램 파일을 실행할 지속 가능한 런

aws.amazon.com

 

 

☕ JDK / JRE / JVM 개념 & 구성 원리 💯 총정리

자바를 처음 설치하면 C:\Program Files\Java 폴더에 아래와 같이 JDK와 JRE 가 각각 설치되는 것을 볼 수 있다. 그렇다면 이 JDK와 JRE의 역할은 무엇인지 그리고 자바 프로그램(JVM)은 어떤식으로 돌아가

inpa.tistory.com

 

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