
JDK는 Java Development Kit의 약어로, 자바 프로그램 개발을 위한 핵심 도구와 라이브러리를 포함하는 소프트웨어 개발 키트이다. JDK는 자바 프로그래머가 자바 언어로 애플리케이션을 개발하고 실행하기 위해 필요한 모든 도구를 제공한다.
- 자바컴파일러(javac)
- 자바 가상 머신(JVM)
- 자바 API 라이브러리
- 도구와 유틸리티
- 개발문서와 예제코드
- 플랫폼 독립성
- 버전관리
- 라이선스

JDK는 개발자들이 JVM과 JRE에 의해 실행되고 구동될 수 있는 자바 프로그램을 생성할 수 있게 해준다. 자바를 처음 접하는 개발자는 JDK와 JRE를 혼동하는 경우가 있다. 다른점은 JDK가 자바 기반 소프트웨어를 개발하기 위한 도구들로 이뤄진 패키지인 반면, JRE는 자바 코드를 실행하기 위한도구들로 구성된 패키지라는 점이다.
기술적 정의 : JDK는 컴파일러와 클래스 라이브러리를 포함하는, 자바 플랫폼 사양서의 구현이다.
일반적인 정의 : JDK는 개발자가 자바 기반 애플리케이션 개발을 위해 다운로드하는 소프트웨어 패키지이다.
모든 JDK는 자바 애플리케이션 구동에 이용되는 환경이 JRE뿐만 아니라, 자바 컴파일러도 포함하고 있다. 컴파일러는 평범한 텍스트인 원시(Raw) .java 파일을 받아서 실행 가능한 .class 파일로 만드는 기능이 있는 소프트웨어다. 곧 컴파일러 사용을 볼 수 있을 것이다. 우선, 개발 환경으로 JDK를 다운로드해 설정하는 방법을 알려 줄 것이다.
자바 버전 선택과 함께, 자바 패키지도 선택해야 한다. 패키지(Package)란 서로 다른 유형의 개발을 표적으로 하는 자바 개발 키트다. 가용 패키지로는 자바 EE(Enterprise Edition), 자바 SE(Standard Edition), 그리고 자바 ME(Mobile Edition)이 있다.
JDK가 개발자의 자바 프로그램에 대한 컴파일러를 제공하기 때문에, 사용하는 JDK가 코드를 작성할 수 있는 자바 버전을 결정한다. 예를 들어, 화살표 람다 연산자(Lambda Operator)처럼 자바 8에 있는 좀 더 새로운 기능 지원을 사용하고 싶다면, 컴파일을 위해 최소한 자바 8 JDK가 필요할 것이다. 그렇지 않은 경우, javac 명령이 구문 오류를 표시하면서 해당 코드를 거부할 것이다.
JRE는 단지 자바 프로그램을 구동하기 위한 독립형 구성요소로써 사용될 수 있지만, 동시에 JDK의 일부이기도하다. 자바 프로그램을 구동하는 것이 자바 프로그램 개발의 일환이기 때문에 JDK는 JRE를 필요로 한다.