ジャバ‐かいはつキット【Java開発キット】
読み方:じゃばかいはつきっと
JDK
読み方:ジェーディーケー
別名:Java開発キット
JDKとは、プログラミング言語「Java」のソフトウェア開発キットの呼び名である。かつてはSun Microsystemsが配布しており、同社がOracleに買収されて以降はOracleが配布している。
JDKにはコンパイラやデバッガをはじめとする開発者向けの環境がひととおり含まれている。いわゆるJava用のソフトウェア開発キット(SDK)であり、その意味でJava用のSDKがJDKであるという言い方をし得る。ただしJDKにはSDKには本来含まれない構成要素も含まれており、厳密な意味でJDKがSDK(のJava版)といえるか否かという点には議論の余地が残る。
JDKは開発者向けのツール群である。Javaの実行環境のみ含んだ製品はJREと呼ばれる。
JDKの過去のバージョンは「Oracle Java Archive」のウェブページ上でリスト化されており、一覧およびダウンロードが可能である。ただし旧バージョンに対してはセキュリティパッチのアップデート等は行われておらず、現行の製品に対しての旧バージョンJDKの使用は推奨されない。
参照リンク
Oracle Java Archive
Javaの古いバージョンおよび関連ドキュメントはどこで入手できますか。 - Java
Java Development Kit
(Java開発キット から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/09/26 18:01 UTC 版)
![]() |
この記事は更新が必要とされています。(2019年9月)
|
開発元 | オラクル(サン・マイクロシステムズ) |
---|---|
最新版 |
25 / 2025年9月16日
|
対応OS | Linux、macOS、Windows |
プラットフォーム | x86-64、ARM64 |
種別 | ソフトウェア開発キット |
ライセンス | 無償で使用する場合は Oracle No-Fee Terms and Conditions 。有償契約は Oracle Java SE Universal Subscription 。 |
公式サイト | www |
Java Development Kit (JDK) は、プログラミング言語Javaを使ってJavaアプリケーションおよびその他のソフトウェアコンポーネントを構築するためのソフトウェア開発キット (SDK) および開発環境である[1]。現在、活発に開発されているのは OpenJDK およびそのフォークであり、2018年9月の Java 11 以降はソースコードは同一だが OpenJDK にサポートを付けたものをオラクル(旧サン・マイクロシステムズ)は Oracle Java SE Development Kit (Oracle JDK) として配布している。
Oracle Java SE Development Kit はLinux、macOS、Windows向けのパッケージが用意されている。OpenJDK は加えてIBM AIXも対応している。Oracle Java SE Development Kit 11まではSolaris向けのパッケージも用意されていたが[2]、Java 12と13はOpenJDKのみになり[3]、JEP 362にてそれ以降のOpenJDKでのサポートは終了し[4] 、有志によってSolarisサポートが継続している[5]。
JDK に関してオラクルのサポートを受けるには Oracle Java SE Universal Subscription などの有償契約が必要。Oracle Java SE Development Kit は、JDK 17 以降の LTS は、リリース後3年間は無償利用も可能であるが、それ以降は Oracle Java SE Universal Subscription の有償契約が必要。OpenJDK には3年間の制限はない。Oracle Java SE Universal Subscription の日本での2025年9月の価格は1台あたり年間27,900円。[6][7]
2006年11月17日に、サン・マイクロシステムズはJDKをGNU General Public License (GPL) に基づきリリースすると発表し、2007年5月8日にJDKのソースコードをOpenJDKに寄付した[8]。従ってOpenJDKは自由ソフトウェアである。OpenJDKなどの他の実装と区別するため、従来のJDKはSun JDKあるいはOracle JDKとも呼ばれる。
Java SE以外のエディション
JavaのAPIセットおよび実行環境 (Java Runtime Environment, JRE) はその用途ごとに、Java Platform, Standard Edition (Java SE)、Java Platform, Enterprise Edition (Java EE)、Java Platform, Micro Edition (Java ME) などのエディション(プロファイル)が用意されているが、Java SE Development KitはJava SE向けの開発に対応する。Java EE向けの開発にはJava EE SDKが[9]、Java ME向けの開発にはJava ME SDKが[10]それぞれ用意されていた。
なお、Java EE SDK および Java ME SDK は Java 8 が最後のバージョンで開発終了となった。Java EE は Jakarta EE に引き継がれている。
同梱ツール
JDK 25には以下のツールが含まれている。[11]
- jar – アーカイバで、関連するクラスライブラリを単一のJARファイルにパッケージする。このツールはJARファイルを管理するのにも役に立つ。
- jarsigner
- java – Javaアプリケーション用のローダ。このツールはインタプリタで、javacコンパイラにより生成されたクラスファイルを解釈できる。現在では1つのランチャーが開発と配備の両方で使用される。古い配備ランチャーであるjreはもう付属せず、代わりに新しいjavaローダに置き換えられた。
- javac – Javaコンパイラで、ソースコードをJavaバイトコードに変換する。
- javadoc – ドキュメンテーション生成器で、ソースコードのコメントから自動的にドキュメンテーションを生成する。
- javap – クラスファイル逆アセンブラ
- jcmd
- jconsole – Javaモニタリングおよび管理コンソール
- jdb – デバッガ
- jdeprscan
- jdeps
- jfr
- jhsdb
- jinfo – このユーティリティにより起動中のJavaプロセスやクラッシュダンプから設定情報を得る
- jlink
- jmap – このユーティリティはJava用のメモリマップを出力し、指定のプロセスやコアダンプの共有オブジェクトメモリマップやヒープメモリの詳細を表示できる
- jmod
- jnativescan
- jpackage
- jps – Java仮想マシンプロセスステータスツールはターゲットとなるシステム上に取り付けられたHotSpot Java仮想マシンを一覧にする
- jrunscript – Javaコマンドラインスクリプトシェル
- jshell
- jstack – JavaスレッドのJavaスタックトレースを表示するユーティリティ
- jstat – Java仮想マシン静的モニタリングツール
- jstatd – jstatデーモン
- jwebserver
- keytool – キーストアを操作するためのツール
- rmiregistry
- serialver
Windows に限り以下のものが含まれている。
- jabswitch
- jaccessinspector
- jaccesswalker
- javaw
- kinit
- klist
- ktab
以下はかつて含まれていた物。
- appletviewer – このツールはウェブブラウザなしでJavaアプレットを起動しデバッグするために使用される。
- apt – アノテーション処理ツール[12]
- extcheck – JARファイル衝突を検出可能なユーティリティ
- idlj – IDL-to-Javaコンパイラ。このユーティリティは指定されたJava IDLファイルからJavaバインディングを生成する。
- javah – Cヘッダとスタブ生成器で、ネイティブメソッドを書くのに使われる。
- javaws – JNLPアプリケーション用のJava Web Startランチャー
- jhat – Javaヒープ分析ツール(実験用)
- pack200 – JAR圧縮ツール
- policytool – ポリシー作成および管理ツールで、様々なソースからコード用に利用可能であるかどうかのパーミッションを指定することで、Javaランタイム用のポリシーを決定できる。
- VisualVM – いくつかのコマンドラインJDKツールを統合するビジュアルツールで、軽快なパフォーマンスでメモリプロファイリングが可能である。
- wsimport – Webサービス呼び出し用のポータブルなJAX-WSアーティファクトを生成する。
- xjc – Java API for XML Binding (JAXB) APIの一部。XMLスキーマを受けてJavaクラスを生成する。
実験用ツールはJDKの将来のバージョンで利用不可能になるかもしれない。
Java 10までは、JDKには、通常プライベートランタイムと呼ばれる完全なJava Runtime Environment (JRE) も付属していた。JDKが「レギュラー」なJREから分離され余分な内容が含まれているためである。それはJava仮想マシンおよび、国際化と地域化ライブラリやIDLライブラリのような、開発者にのみ役に立つ追加ライブラリと同様に、生産環境として提供されるクラスライブラリの全てから構成される。
JDKのコピーは、Java APIのほとんど全ての部分の利用を説明する広範囲なプログラム例の抜粋も含んでいる。
JDKとSDKの曖昧さ
JDKは、ソフトウェア開発キット(SDK)の拡張サブセットを構成している。オラクルは、JDKをJava SE開発キットを指す用語として使用することを強く推奨している[13]。Java SE SDKは、JDKとセットでも、JDKなしでも利用可能であり、特にJava SE 7 JDKを意味している[14]。
OpenJDK以外
OpenJDKおよびその派生ソフトウェア(Oracle Java SE Development Kitなど)が広く使われているが、様々なプラットフォームで一般的に利用可能な他のJDKもある。それら全ては基本的なJava仕様に基づいているが、ガベージコレクション、コンパイル方法、そして最適化技術といった明確に指定されていない部分はしばしば異なる。それらを以下に示す。
開発中のもの:
- Eclipse OpenJ9 JDK – AIX、Linux、Windows、MVS、OS/400、Pocket PC、z/OS用[15]
- JamaicaVM
開発が終了したもの:
- Apache Harmony
- AppleのClassic Mac OS用のMac OS Runtime for Java JVM / JDK[16]
- Blackdown Java – Linux用のSun JDKの移植[17][18]
- GNUプロジェクトのGNU Classpath、GNU Interpreter for Java (GIJ) およびGNU Compiler for Java (GCJ)
- IcedTea
- オラクルのJRockit JDK – Windows、Linux、Solaris用[19]
関連項目
脚注
注釈
出典
- ^ Java SE Development Kit 13- - Downloads
- ^ Java SE Development Kit 11- - Downloads
- ^ Update on Oracle Java on Oracle Solaris | Oracle Solaris Blog
- ^ “JEP 362: Deprecate the Solaris and SPARC Ports”. openjdk.org. 2025年9月23日閲覧。
- ^ “psumbera/solaris-openjdk: Builds OpenJDK 9 and newer on Solaris.”. 2025年9月23日閲覧。
- ^ “Oracle Java SE Universal Subscription”. oracle.com. 2025年9月21日閲覧。
- ^ Oracle Java SE Universal Subscription: Java SEへの投資を確かなものにするために
- ^ “Sun's May 8th announcement of source code for JDK”. 2012年9月12日時点のオリジナルよりアーカイブ。2013年7月10日閲覧。
- ^ Java EE - Downloads: GlassFish and Java EE 8 | Oracle Technology Network | Oracle
- ^ Java ME SDK
- ^ “Java Development Kit Version 25 Tool Specifications”. docs.oracle.com. 2025年9月24日閲覧。
- ^ “JDK 5.0 Java Annotation Processing Tool (APT)-related APIs & Developer Guides -- from Sun Microsystems”. 2012年8月5日閲覧。
- ^ “Java SE Downloads”. Oracle. 2013年7月10日閲覧。
- ^ "Java EE 7 SDK distributions require JDK 7" “Java Platform, Enterprise Edition 7 SDK - Installation Instructions”. Installing the Software. Oracle. 2013年7月10日閲覧。
- ^ “developerWorks : IBM developer kits : Downloads”. 2012年8月5日閲覧。
- ^ “Support at Apple”. 2006年4月20日時点のオリジナルよりアーカイブ。2013年7月10日閲覧。
- ^ “Java Linux Contact Information”. 2007年8月19日時点のオリジナルよりアーカイブ。2012年8月5日閲覧。
- ^ “Java-Linux Latest Information”. 1996年10月19日時点のオリジナルよりアーカイブ。2012年8月5日閲覧。
- ^ “JRockit Family Download page”. 2012年8月5日閲覧。
外部リンク
Java開発キット (JDK)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/13 16:15 UTC 版)
「Java」の記事における「Java開発キット (JDK)」の解説
詳細は「Java Development Kit」を参照 Java開発キット (Java Development Kit) は、Javaプログラムを開発するために必要なソフトウェアである。Java実行環境も内包している。Javaコンパイラなどの基本開発ツール、各種開発サポートツール、Java APIで構成されている。前述のエディションによって開発ツール内容とAPI構成に違いがある。Java開発キットの呼称はこれまでに何度か変更されている。 J2SE 1.2.2_004 までは、JDK (Java Development Kit) と呼んでいた。 J2SE 1.4 までは、Java2 SDK (Java2 Software Development Kit) と呼んでいた。 J2SE 5.0 からは再び、JDK (Java Development Kit) と呼んだ。 JavaSE 7 からは、エンタープライズ版とマイクロ版では Java SDK (Java Software Development Kit) と呼び、スタンダード版とカード版では JDK (Java Development Kit)と呼ぶようになった。JDKはSDKの拡張サブセット(SDKの一部分+その他)とされる。 Java API APIは、アプリケーション・プログラミング・インタフェースの頭字語であり、Javaクラスライブラリ内部からプログラマに向けて外部公開されているクラス、インタフェース、メソッド、フィールド、定数の集合である。プログラマはこれを用いて各種ソフトウェアの開発を行う。APIは基本的にクラスライブラリの所属に沿って、パッケージ (package) と呼ばれる名前空間で分類されて提供されている。パッケージは各ワードをピリオドで連結して階層化されている。先頭ワードのjavaは開発元提供の純正基礎版を意味する。他に純正拡張版のjavax、任意団体提供のorg、企業提供のcomがある。 java.lang - Java言語の基礎を扱う。 java.io - ファイル入出力など。 java.util - 動的配列と動的連想配列。データ集合の操作。 java.math - 各種計算を扱う。 java.text - 暦、日付、時間、通貨、文字コードなどの国際化と地域化を扱う。 java.net - ソケット通信を扱う。 java.awt - グラフィカル・ユーザーインターフェイスを扱う。 java.applet - アプレット生成用。 java.beans - ソフトウェアコンポーネント作成用。 java.sql - SQLを扱う。 java.rmi - 分散オブジェクトを扱う。 java.security - セキュリティポリシー、ユーザー認証と権限承認、公開鍵暗号方式など。 統合開発環境と開発支援ツール 統合開発環境 (IDE)は、JDKを中核にしてビジュアルエディターやビルドマネジャーなどの様々な開発支援機能を備えたソフトウェアである。JDKのみだと、メモ帳でプログラムを書きコマンドラインでコンパイルしコンソールでデバッグをするという極めて原始的な作業になるが、IDEを使用する事で多機能エディタコーディングとビルド過程の自動化と視覚的なデバッグが可能になる。Java開発用のIDEは様々な企業と任意団体から公開されている。 NetBeans - (サン・マイクロシステムズ→オラクル)オープンソースIDE。NetBeans.org NetBeans.jp。 Eclipse SDK - (IBM→Eclipse財団)オープンソースIDE。Java用IDEの共通基盤存在である。ここからWebSphere Studio、JBuilderなど様々なIDEが派生している。eclipse.org EclipseWiki。 WebSphere Studio -(IBM)商用IDE。Eclipseに有料プラグイン機能を組み合わせたもの。現在はアップデート停止。WebSphere。 IBM Rational(英語版) - (IBM) Rationalブランド商用IDE。WebSphere Studioの後継製品。 JBuilder - (ボーランド→エンバカデロ・テクノロジーズ)商用IDE。JBuilder2007からEclipseベースになっている。JBuilder。 Oracle JDeveloper - (オラクル)Oracle Application Serverと統合されている。2005年6月28日に無料化した。JDeveloper。 Oracle Workshop for WebLogic - (BEAシステムズ→オラクル)WebLogic(英語版)と統合されている。Oracle Workshop。 BlueJ - (サン・マイクロシステムズ、豪ディーキン大学、英ケント大学の共同開発)フリーIDE。BlueJ。 IntelliJ IDEA - (JetBrains) 商用IDE。Android Studioのベースになった。IntelliJ IDEA。 JCreator - (Xinox Software) 商用IDE。JCreator。 Xcode - (Apple)macOSに付属するIDE。 開発サポートツールは、プロジェクト管理、自動ビルド、デバッグ、モニタリングを容易にする。下記の他にも多くの支援ツールが存在する。 Apache Ant - Javaアプリケーションのビルドツール。Apacheソフトウェア財団のプロジェクトによって開発された。コンパイル、バージョン管理システムとの連携、jar、javadoc生成、ファイルのコピー/移動/削除/変換などの一連の処理を自動化して効率的に実行する。make と同種のツールであり、XMLファイルにビルドの規則を記述する。Java 以外の言語によるアプリケーション開発や、アプリケーション開発以外の用途にも使うことができる。 Apache Maven - Javaアプリケーションのプロジェクト管理ツール。Apacheソフトウェア財団のプロジェクトによって開発された。 Gradle - Apache AntやApache Mavenのコンセプトに基づくオープンソースビルド自動化システム。 JUnit - Javaアプリケーションの単体テストフレームワーク。単体テストを自動化する。xUnitの一種である。テスト駆動開発を支援する。
※この「Java開発キット (JDK)」の解説は、「Java」の解説の一部です。
「Java開発キット (JDK)」を含む「Java」の記事については、「Java」の概要を参照ください。
- Java開発キットのページへのリンク