JDK(Java Development Kit)
자바 개발 키트(Java Development Kit, JDK)는 자바 개발자를 대상으로 Java프로그램을 개발하는데 필요한 툴들을 모아놓은 소프트웨어개발키트(SDK, Software Development Kit)이다.
JDK의 구성
JRE(Java Runtime Environment)와 Java 바이트코드 컴파일러, Java 디버거 등을 포함하는 개발 도구(Java Development Tool)들로 이루어져 있다.
JDK버전
Java SE(Java Standard Edition) - 가장 기본이 되는 표준 에디션의 자바 플랫폼
Java EE(Java Enterprise Edition) - 대규모 기업용 에디션. SE의 확장판
Java ME(Java Micro Edition) - 작은 임베디드 기기들을 다루는 에디션
JavaFX - 사용자 그래픽 인터페이스(GUI)를 제공하는 에디션
Java8, Java17등 은 JDK의 버전을 의미한다고 볼 수 있다.
JRE(Java Runtime Environment)
- 자바 실행환경의 약자로서, JVM과 자바 프로그램을 실행시킬 때 필요한 라이브러리 API를 함께 묶어 배포되는 패키지이다.
- 기본적으로 JDK에 포함되어 있기 때문에 JDK 설치 시, 함께 설치된다.
JVM(Java Virtual Machine)
- 자바 가상머신의 약자로서, 자바를 실행하는 프로그램이다.
- 자바로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신이다.
- JVM을 통해 자바는 플랫폼에 종속되지 않을 수 있다.
- 자바 컴파일러가 JVM이 이해할 수 있는 Byte Code로 컴파일 한 뒤, JVM을 통해 각 플랫폼에 맞는 Binary Code로 변환한다.
- 스택기반의 가상머신이다.
- 메모리 관리와 GC(Garbage Collection)를 수행한다.
Reference
https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EA%B0%9C%EB%B0%9C_%ED%82%A4%ED%8A%B8
'Java' 카테고리의 다른 글
[Java/자바] Java 메인 메서드의 의미에 대하여 (1) | 2024.02.07 |
---|---|
[Java/자바] JVM과 자바 런타임 메모리의 구조 (0) | 2023.09.18 |
[Java/자바] 클래스, 객체, 인스턴스에 대하여 (0) | 2023.09.12 |
[Java/자바] equals, hashCode 메서드에 대하여 (0) | 2023.09.07 |
[Java/자바] toString() 메서드에 대하여 (0) | 2023.09.05 |