Java Development Kit

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

Java Development Kit (JDK) はオラクル(旧サン・マイクロシステムズ)により提供されている、プログラミング言語Javaを使ってJavaアプリケーションおよびその他のソフトウェアコンポーネントを構築するためのソフトウェア開発キット (SDK) および開発環境である[1]LinuxmacOSまたはWindows向けのパッケージがそれぞれ用意されている。JDK 11まではSolaris向けのパッケージも用意されていた[2][注釈 1]。JavaのAPIセットおよび実行環境 (Java Runtime Environment, JRE) はその用途ごとに、Java Platform, Standard Edition (Java SE)、Jakarta EEJava Platform, Micro Edition (Java ME) などのエディション(プロファイル)が用意されているが、JDKはJava SE向けの開発に対応する。Java EE向けの開発にはJava EE SDKが[3]、Java ME向けの開発にはJava ME SDKが[4]それぞれ用意されている。

概要 開発元, 最新版 ...
閉じる

2006年11月17日に、サン・マイクロシステムズはJDKをGNU General Public License (GPL) に基づきリリースすると発表し、2007年5月8日にJDKのソースコードOpenJDKに寄付した[5]。従ってJDKは自由ソフトウェアである。OpenJDKなどの他の実装と区別するため、従来のJDKはSun JDKあるいはOracle JDKとも呼ばれる。

JDKの内容

要約
視点

JDKには主要なコンポーネントとして以下のようなプログラミングツールが含まれる :

  • appletviewer このツールはウェブブラウザなしでJavaアプレットを起動しデバッグするために使用される。
  • apt アノテーション処理ツール[6]
  • extcheck JARファイル衝突を検出可能なユーティリティ
  • idlj IDL-to-Javaコンパイラ。このユーティリティは指定されたJava IDLファイルからJavaバインディングを生成する。
  • java Javaアプリケーション用のローダ。このツールはインタプリタで、javacコンパイラにより生成されたクラスファイルを解釈できる。現在では1つのランチャーが開発と配備の両方で使用される。古い配備ランチャーであるjreはもう付属せず、代わりに新しいjavaローダに置き換えられた。
  • javac Javaコンパイラで、ソースコードをJavaバイトコードに変換する。
  • javadoc ドキュメンテーション生成器で、ソースコードのコメントから自動的にドキュメンテーションを生成する。
  • jar アーカイバで、関連するクラスライブラリを単一のJARファイルにパッケージする。このツールはJARファイルを管理するのにも役に立つ。
  • javah Cヘッダとスタブ生成器で、ネイティブメソッドを書くのに使われる。
  • javap クラスファイル逆アセンブラ
  • javaws JNLPアプリケーション用のJava Web Startランチャー
  • JConsole Javaモニタリングおよび管理コンソール
  • jdb デバッガ
  • jhat Javaヒープ分析ツール(実験用)
  • jinfo このユーティリティにより起動中のJavaプロセスやクラッシュダンプから設定情報を得る(実験用)
  • jmap このユーティリティはJava用のメモリマップを出力し、指定のプロセスやコアダンプの共有オブジェクトメモリマップやヒープメモリの詳細を表示できる(実験用)
  • jps Java仮想マシンプロセスステータスツールはターゲットとなるシステム上に取り付けられたHotSpot Java仮想マシンを一覧にする(実験用)
  • jrunscript Javaコマンドラインスクリプトシェル
  • jstack JavaスレッドのJavaスタックトレースを表示するユーティリティ
  • jstat Java仮想マシン静的モニタリングツール(実験用)
  • jstatd jstatデーモン(実験用)
  • keytool キーストアを操作するためのツール
  • pack200 JAR圧縮ツール
  • policytool ポリシー作成および管理ツールで、様々なソースからコード用に利用可能であるかどうかのパーミッションを指定することで、Javaランタイム用のポリシーを決定できる。
  • VisualVM いくつかのコマンドラインJDKツールを統合するビジュアルツールで、軽快なパフォーマンスでメモリプロファイリングが可能である。
  • wsimport Webサービス呼び出し用のポータブルなJAX-WSアーティファクトを生成する。
  • xjc Java API for XML Binding (JAXB) APIの一部。XMLスキーマを受けてJavaクラスを生成する。

実験用ツールはJDKの将来のバージョンで利用不可能になるかもしれない。

JDKには、通常プライベートランタイムと呼ばれる完全なJava Runtime Environment (JRE) も付属する。JDKが「レギュラー」なJREから分離され余分な内容が含まれているためである。それはJava仮想マシンおよび、国際化と地域化ライブラリやIDLライブラリのような、開発者にのみ役に立つ追加ライブラリと同様に、生産環境として提供されるクラスライブラリの全てから構成される。

JDKのコピーは、Java APIのほとんど全ての部分の利用を説明する広範囲なプログラム例の抜粋も含んでいる。

JDKとSDKの曖昧さ

JDKは、ソフトウェア開発キット(SDK)の拡張サブセットを構成している。オラクルは、JDKをJava SE開発キットを指す用語として使用することを強く推奨している[7]。Java SE SDKは、JDKとセットでも、JDKなしでも利用可能であり、特にJava SE 7 JDKを意味している[8]

他のJDK

本記事で論じられ最も広範囲に利用されるJDKに加えて、Sun JDKソースやそうではない物である、様々なプラットフォームで一般的に利用可能な他のJDKもある。それら全ては基本的なJava仕様に基づいているが、ガベージコレクション、コンパイル方法、そして最適化技術といった明確に指定されていない部分はしばしば異なる。それらを以下に示す。

開発中やメンテナンスモードの状態であるもの:

メンテナンスが終了したもの:

関連項目

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.