CS Study
JDK란?
mileh
2023. 5. 8. 10:13
1. JDK(Java Development Kit)란?
JDK는 Java Development Kit의 약자로 자바 개발 시 여러 기능을 제공하는 키트입니다. 자바를 실행할 수 있는 JRE, JVM과 같은 도구와 자바 개발 시 사용할 수 있는 컴파일러등의 도구를 가지고 있습니다.
2. JDK의 구성
JDK는 자바의 소스코드 파일을 바이트코드로 변환하는 Javac와 javac가 만든 클래스 파일을 해석 및 실행하는 java, 자바 디버깅 툴인 jdb, jre, jvm 등으로 구성되어 있습니다. 즉 JDK는 JRE를 포함하고 있고, JRE는 JVM을 포함하고 있습니다.
- javac : 자바 소스파일을 바이트코드로 변환 (컴파일러)
- java : javac가 만든 클래스 파일을 해석 및 실행
- jar : 서로 관련있는 클래스 라이브러리들과 리소스를 하나의 파일로 묶어주는 툴
- jdb : 자바 디버깅 툴
- JRE : Java Runtion Environment의 약자로 자바 런타임 환경을 의미합니다. 자바 클래스 라이브러리, 자바 가상 머신, 자바 클래스 로더를 포함하고 있습니다. JVM이 원활히 작동할 수 있도록 실행환경을 맞춰주는 역할을 수행합니다. 작성된 자바 코드를 JVM에 넘겨 실행시키는 일을 한다고 볼 수 있습니다. JRE는 JDK와 다르게 자바 프로그램을 실행하는 역할을 하고 있기 때문에 개발이 아닌 실행이 목적인 경우에 JRE만으로도 실행 가능합니다.
- JVM : java Virtual Machin의 약자로 자바 가상 머신을 의미합니다. 자바를 모든 운영체제 위에서도 실행할 수 있게 하며, 자바 프로그램 상 메모리를 관리하고 최적화하는 역할을 수행합니다
3. JDK의 종류
종류에는 Java SE, JAVA EE, JAVA ME 등이 있습니다.
- JAVA SE: Java SE에서 SE는 Standard Edition으로 이름 그대로 표준 자바 플랫폼입니다. 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상머신 규격 및 API 집합을 포함하고 있습니다. 자바의 핵심 기능을 제공하고 있습니다. 주요 패키지로는 Java.lang.*, java.io.*, java.util.*, java.awt.*, javax.rmi.*, javax.net.*등이 있습니다.
- JAVA EE: JAVA EE는 Entertprise Edition으로 Java Se에 웹 애플리케이션 서버에서 동작하는 기능을 추가한 플랫폼입니다. 구체적인 목적에 따라 자바 SE를 기반으로 API를 추가하거나 자바 가상머신 규격 및 API의 일부를 택하여 정의합니다. JAVA EE의 스펙에 따라 제품을 구현한 것을 WAS라고 합니다.
- JAVA ME: JAVA ME 는 Micro Edition으로 제한된 자원을 가진 환경에서 자바를 지원하기 위해 만든 플랫폼입니다.