Java Development Kit
開発元 | オラクル(サン・マイクロシステムズ) |
---|---|
最新版 |
25
/ 2025年9月16日 (27日前) (2025年09月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ソフトウェア - オラクル - Oracle 日本 (日本語)
- OpenJDK (英語)
オラクル |
| ||||||
---|---|---|---|---|---|---|---|
サードパーティ |
| ||||||
JVM言語 | |||||||
コミュニティ |
| ||||||