トップQs
タイムライン
チャット
視点

Java Development Kit

Javaを使ってJavaアプリケーションおよびその他のソフトウェアコンポーネントを構築するためのソフトウェア開発キット (SDK) および開発環境 ウィキペディアから

Remove ads

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 はLinuxmacOSWindows向けのパッケージが用意されている。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とも呼ばれる。

Remove ads

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 に引き継がれている。

Remove ads

同梱ツール

要約
視点

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のほとんど全ての部分の利用を説明する広範囲なプログラム例の抜粋も含んでいる。

Remove ads

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仕様に基づいているが、ガベージコレクション、コンパイル方法、そして最適化技術といった明確に指定されていない部分はしばしば異なる。それらを以下に示す。

開発中のもの:

開発が終了したもの:

Remove ads

関連項目

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads