Java10 以前
Javaのダウンロードや環境構築を進めていると、「JDK」や「JRE」という語句に出会うことがあると思います。詳細な情報はたくさん得ることができますが、きちんと理解しようとすると必要となる前提知識が多く大変です。
加えて、Java11以降を使用している場合は、あまり意識する必要もないことなのかもしれません。
In this release, the JRE or Server JRE is no longer offered. Only the JDK is offered.
(このリリースでは、JRE または Server JRE は提供されなくなりました。JDKのみが提供されます。)
ただ、使われる語句について全く知らない状態は避けたいかと思いますので、ここでは大まかにイメージを持てるような説明をしていきます。
JDK・JRE とは
一言でいうと、JDKとは開発ツールを含むもの、JREとは実行に必要な最低限のもの、です。
- JDK(Java Development Kit:Java開発キット)
- Javaの開発に必要なツール一式
- 含まれる物の例)
javac.exe
- JRE(Java Runtime Environment:Java実行環境)
- Javaの実行に必要な最小限の環境
- 含まれる物の例)
java.exe
具体例(javac)
例えば、「Hello World」を出力する Main.java
を実行する場合、次の1~3のステップを踏む必要があります。右側に各段階で必要となるツールを記載しています。
- ソースファイル(
.java
)の作成 ← テキストエディタ - クラスファイル(
.class
)の作成 ←javac.exe
- クラスファイル(
.class
)の実行 ←java.exe
このように整理すると、Javaプログラムの実行という点に限って見れば、コンパイル済みのクラスファイルさえあれば良いことが分かります。クラスファイルの作成までは開発の段階、クラスファイルを指定して呼び出すところからが初めて実行の段階、ということです。
そのため例えば、ソースファイルのコンパイルに必要な javac.exe
は、JDKに含まれていてJREには含まれない物の一つになります。
java.exe
javac.exe
具体例(Java8)
JDK8 と JRE8 をそれぞれダウンロードして、中身を確認してみます。
① Java downloads から Java SE subscribers have more choices までスクロールします。
② JDK8のダウンロード
Java8タブから「Java SE Development Kit」欄のWindowsタブに切り替えます。
「x64 Compressed Archive」の行より .zip
をダウンロードします。
③ JRE8のダウンロード
少し下に JRE8 とあり、クリックすると詳細が展開されます。
「Java SE Runtime Environment」欄のWindowsタブに切り替えます
「x64 Compressed Archive」の行より .zip
をダウンロードします。

Java archive タブの Previous Java releases > Java SE downloads 欄から、任意のバージョンのリンクへ遷移することが可能です。

これらのリンク先を確認すると、Java SE 10 以前は「Java SE Development Kit」と「Java SE Runtime Environment」の両方があるのに対し、Java SE 11 以降は「Java SE Development Kit」だけしかないことが分かります。
In this release, the JRE or Server JRE is no longer offered. Only the JDK is offered.
(このリリースでは、JRE または Server JRE は提供されなくなりました。JDKのみが提供されます。)
ダウンロードした .zip
を展開して内容を確認すると、JDKの bin
ディレクトリには java.exe
のほか開発に必要な javac.exe
等が含まれていたり、JRE自体が含まれていたりすることが分かります。
JDKjava.exe
に加え、javac.exe
や javadoc.exe
等も含まれている。jre
ディレクトリがあり、JRE自体も含まれている。bin
だけでなく src
も含まれている。

JREjava.exe
等、必要最小限の物のみが含まれている。
