JDK : 자바 개발 키트(Java Development Kit, JDK)
자바 플랫폼의 등장 이래로 가장 많이 사용되는 소프트웨어 개발 키트(SDK).
즉, JDK란 자바로 소프트웨어를 개발할 수 있도록 기능을 제공하는 개발 키트라고 볼 수 있다.
JDK의 구성
JDK는 크게 6가지 파일로 구성되어 있으며, 파일 위치는 다음과 같다.
- 실행 파일(bin/) : 자바의 실행 환경 (Java Runtime Environment, JRE)을 구현한 것으로, JRE는 자바 가상머신, 클래스 라이브러리, 자바 언어로 작성된 프로그램 작동에 필요한 파일을 포함하고 있으며, 같은 위치에 프로그램 개발에 필요한 모든 툴과 유틸리티도 포함되어 있다.
- 구성 파일(conf/) : 사용자 구성 옵션을 포함하고 있는 파일들로써, JDK 접근 권한 설정, 보안 알고리즘 변경, 자바 암호화 확장 정책 등을 설정할 수 있다.
- C헤더 파일(include/) : 자바 가상머신 디버거인터페이스와 자바네이티브인터페이스의 네이티브 코드를 작성하는데 사용되는 C헤더 파일
- 자바 모듈 (jmods/) : jlink를 이용하여 사용자 지정 런타임을 만드는데 사용되는 모듈
- 저작권 및 라이선스 (legal/ ) : 각 모듈에 대한 라이선스와 저작권에 대한 내용, 제삼자 제공 포함
- 추가 라이브러리 (lib/ ) : JDK에 필요한 추가 클라스 라이브러리와 지원 파일 (외부 사용을 목적으로 하지 않음)
JDK의 핵심을 이루는 개발 툴들은 굉장히 많은데, 내가 많이 들어본 것들만 정리해보았다.
- appletviewer - 웹브라우저 없이 자바 애플릿을 실행하고 디버깅하기 위한 툴
- apt : 애너테이션 처리 툴
- idlj : IDL을 자바로 컴파일 해주는 툴. 주어진 자바 IDL 파일에 대한 자바 바인딩을 만들어 준다.
- java : 자바 응용 프로그램 로더. javac 컴파일러가 만든 클래스 파일을 해석 및 실행한다. 현재는 하나의 런처가 개발 및 배포에 동일하게 사용된다. 예전에 사용되던 배포용 런처 jre는 더이상 Sun JDK에서는 제공되지 않고, 이 로더로 대체되었다.
- javac : 자바 컴파일러. 자바 소스 파일을 바이트코드로 변환해준다.
- javadoc : 소스 코드 주석으로부터 자동으로 문서를 생성해주는 툴
- jar : 서로 관련있는 클래스 라이브러리들과 리소스들을 하나의 JAR 파일로 묶어주는 툴. Jar 파일을 관리하는데도 사용된다.
- jdb : 자바 디버깅 툴
JDK 종류
- Oracle JDK : Oracle에서 제공하는 JDK. 구독을 통해 유료 라이센스를 구매할 수 있다.
- Open JDK : 무료 JDK. 하지만 OpenJDK를 직접 사용하는것 보다는, OpenJDK 기반으로 빌드된 JDK 사용을 추천한다.
- Azul Zulu : 인지도가 높은 JDK 중 하나이며, Mac 등에서 사용할 수 있는 바이너리를 제공하는 것이 특징이다.
- Amazon Corretto : AWS에서 제공하는 JDK. AWS에서 쉽게 사용 가능하며, AWS 환경이 아니더라도 사용할 수 있다.
- Temurin : Eclipse에서 제공하는 JDK. Eclipse를 사용한다면 Temurin 설치를 추천한다.
[출처]
https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EA%B0%9C%EB%B0%9C_%ED%82%A4%ED%8A%B8 - 위키백과