자바 개발 키트

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
자바 개발 키트
Java Development Kit (JDK)
Java logo and wordmark.svg
개발자 오라클
최근 버전 자바 SE 8 업데이트 5 (1.8.0_5) / 2014년 04월 15일, 224일 경과
운영 체제 크로스 플랫폼
종류 소프트웨어 개발 키트
라이선스 썬 라이선스 (대부분이 GPL)
웹사이트 http://www.oracle.com/technetwork/java/index.html

자바 개발 키트(Java Development Kit, JDK)는 자바 SE, 자바 EE, 또는 자바 ME 플랫폼 중 하나를 구현한 것으로 솔라리스, 리눅스, 맥 OS X, 또는 윈도 자바 개발자를 대상으로 오라클에 의해 바이너리 제품으로 제공된다. 자바 플랫폼의 등장 이래 지금까지 가장 널리 사용되는 소프트웨어 개발 키트(SDK)다. 2006년 11월 17일 GNU 일반 공중 사용 허가서 (GPL)하에 출시 될 것이라고 발표했고, 이에 따라 자유 소프트웨어가 되었다. 이는 썬이 2007년 5월 8일 소스 코드를 오픈 JDK에 기부함에 따라 이루어졌다.

JDK의 구성[편집]

JDK의 핵심을 이루는 개발 툴들은 다음과 같다:

  • appletviewer - 웹브라우저 없이 자바 애플릿을 실행하고 디버깅하기 위한 툴
  • apt - 애너테이션 처리 툴
  • extcheck - JAR 파일 충돌을 감지하는 툴
  • idlj - IDL을 자바로 컴파일 해주는 툴. 주어진 자바 IDL 파일에 대한 자바 바인딩을 만들어 준다.
  • java - 자바 응용프로그램 로더. javac 컴파일러가 만든 클래스 파일을 해석 및 실행한다. 현재는 하나의 런처가 개발 및 배포에 동일하게 사용된다. 예전에 사용되던 배포용 런처 jre는 더이상 Sun JDK에서는 제공되지 않고, 이 로더로 대체되었다.
  • javac - 자바 컴파일러. 자바 소스 파일을 바이트코드로 변환해준다.
  • javadoc - 소스 코드 주석으로부터 자동으로 문서를 생성해주는 툴
  • jar - 서로 관련있는 클래스 라이브러리들과 리소스들을 하나의 JAR 파일로 묶어주는 툴. Jar 파일을 관리하는데도 사용된다.
  • javah - 네이티브 코드를 작성하는데 사용되는 C 헤더 및 스텁 생성기
  • javap - 클래스 파일을 자바 소스 코드로 디스어셈블해주는 도구
  • javaws - JNLP 응용프로그램용 자바 웹 스타트 런처
  • JConsole - 자바 모니터링 및 관리 콘솔
  • jdb - 자바 디버깅 툴
  • jhat - 자바 힙 분석 툴 (실험적인 기능)
  • jinfo - 현재 실행중인 자바 프로세스나 크래쉬 덤프로부터 구성정보를 읽어들이는 툴 (실험적인 기능)
  • jmap - 현재 실행중인 프로세스나 코어 덤프 파일로부터 공유 객체 메모리 맵이나 힙 메모리 정보를 보여주는 툴 (실험적인 기능)
  • jps - 자바 가상 머신 프로세스 상태(Java Virtual Machine Process Status) 툴. 대상 시스템의 인스트루먼트 가능한 핫스팟 자바 가상 머신들의 목록을 보여준다. (실험적인 기능)
  • jrunscript - 자바 명령 줄 스크립트용
  • jstack - 자바 쓰레드들의 스텍 트레이스를 보여주는 툴 (실험적인 기능)
  • jstat - 자바 가상 머신 통계 모니터링 툴 (실험적인 기능)
  • jstatd - jstat용 데몬 (실험적인 기능)
  • keytool - 키스토어 관리용 툴
  • pack200 - JAR 압축 툴
  • policytool - 자바 실행 정책을 만들거나 관리하는 툴. 자바 실행시 다양한 곳으로부터 온 개개의 코드에 권한을 주거나 제한할 수 있다.
  • VisualVM - 여러 자바 명령 줄 툴들에 대한 비주얼 UI를 제공해주고, 간단한 성능 및 메모리 프로파일링 기능을 포함한다.
  • wsimport - 웹 서비스를 호출하기 위한 JAX-WS 아티팩트를 만들어준다.
  • xjc - XML 바인딩용 자바 API(Java API for XML Binding, JAXB)의 일부. 주어진 XML 스키마에 대한 자바 클래스를 만들어준다.

현재 실험적인 기능인 툴들은 향후 버전의 JDK에서는 제공되지 않을 수도 있다.

JDK에는 또한 자바 실행 환경(Java Runtime Environment, JRE)이 포함된다. 이 JRE는 자바 가상 머신(Java Virtual Machine, JVM)과 프로덕션 환경에서 제공되는 모든 클래스 라이브러리 및 국제화나 IDL 라이브러리와 같이 개발자들에게 도움이 되는 라이브러리들로 구성된다.

그리고 자바 API의 거의 모든 부분들을 커버하는 다양한 예제 프로그램들이 JDK와 함께 제공된다.