JDK 【Java Development Kit】
概要
JDK(Java Development Kit)とは、Java言語でソフトウェア開発を行うのに必要なツールを一つにまとめたパッケージ。Javaの開発元である米オラクル(Oracle)社が無償配布しており、誰でも自由に入手・使用することができる。一般に「SDK」(Software Development Kit:ソフトウェア開発キット)と呼ばれるパッケージのJava版で、Windows向け、macOS向け、Linux向けがそれぞれ提供されている。パソコンなどを主なターゲットとする「Java SE」仕様に対応しており、サーバ向けの「Java EE」、小型端末向けの「Java ME」などは別の開発キットが必要となる。
主な内容
JDKにはJavaプログラムの言語処理系を構成するコンパイラ(javac)やデバッガ(jdb)、アーカイバ(jar)、Javaプログラムの実行環境(JVM)などが含まれる。ほとんどのソフトウェアは実行可能形式のコマンドラインツールとして提供されており、シェルやコマンドプロンプトからコマンド名とオプション、自ら開発したプログラムのファイル名などの引数を指定して実行する。
コードエディタやビルドツール、IDE(統合開発環境)などは付属しておらず、Javaプログラム開発を始めるために必要最低限のソフトウェアのセットとなっている。Javaに対応したIDEなどの中には自らはコンパイラなどを持たず、内部的にJDKに含まれるコマンドを呼び出すようになっているものもある。その場合、IDE本体に加えてJDKを別途導入する必要がある。
OpenJDKとの関係
初期のJava開発元だったサン・マイクロシステムズ(Sun Microsystems)社はJDKを同社所有の商用ソフトウェアとして開発・配布していたが、2007年に大半をオープンソース化してソースコードを公開した。このオープンソース版は「OpenJDK」と呼ばれ、GPL(GNU General Public License)に基づいて配布されている。
OpenJDK公開後も、同社および同社を買収して権利を引き継いたOracle社は引き続き自社版のJDKを開発・配布している。内容の大半はOpenJDKと同じだが、一部のツールに同社などが開発した、「無償で利用できるがオープンソース化はされていない商用ソフトウェア」が含まれている。
JREとの違い
Java言語は開発したプログラムを「Javaバイトコード」と呼ばれる特定の機種に依存しない形式のプログラムで配布し、実行時でそれぞれの機種やオペレーティングシステム(OS)に適したプログラムに変換して実行する。
この変換を行うソフトウェアを「Java仮想マシン」(JVM:Java Virtual Machine)というが、同社ではJVMを中心とするJavaアプリケーションの実行に必要なソフトウェアのパッケージを「JRE」(Java Runtime Environment)として配布している。開発を行う場合はJDKが必要だが、実行のみが必要な場合はJREを入手・導入すればよい。