Java JVMとJDKとJREとJava SEとJava EEの違い

JavaのJVMとJDKとJREとJava SEとJava EEの違いです。

目次

JVM (Java Virtual Machine)

JVMは、Javaプログラムを動かすのに必要なプログラムであり実行環境です。
Java仮想マシン、Java VMとも呼ばれます。

図のようにJVMの上にJavaプログラムがあるイメージです。

JVMは、WindowsやLinuxなどのOS毎の違いを吸収してくれます。
そのためプログラムをする側がOSの違いを意識しなくてよくなります。
本来であれば、OSごとにプログラムを作成する必要があります。

JVMはJRE、JDKに含まれています。

JVMの使用例

Eclipseは、Javaプログラムベースの製品です。
そのためJVMが必要です。
Eclipseの設定ファイルのeclipse.iniで、起動オプションの-vmを指定してJVMの場所を指定できます。

-vm
C:/Program Files/Java/jdk1.8.0_211/bin/javaw.exe

https://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/useful/tips/090601_specify-eclipse-javavm.html

JRE (Java Runtime Environment)

JREは、Javaを利用するためのソフトです。JVMを含んでいます。

Javaベースのソフトウェアを動かすときやJava実行環境が必要なサイトを利用する時などはJREが必要です。

以下のサイトで入手できます。
https://www.java.com/ja/

このページの文字ですが、「あなたとJAVA,今すぐダウンロード」とインパクトがあるものになっていてネット上のちょっとした定番ネタになっています。

以下は、Oracleの用語の違いについて書かれているリンクです。
https://www.java.com/ja/download/faq/techinfo.xml

 

JDK (Java Development Kit)

JDKは、Javaプログラムを開発するためのソフトが入っています。
JREとJVMも含まれています。

以下は、JDKをインストールしたフォルダのbin配下です。
(C:\Program Files\Java\jdk-9.0.1\bin)
開発向けのexeファイルとして、コンパイルするためのjavac.exeやJava文書を生成するjavadoc.exeなどがあります。

JDKは、以下のOracleのサイトで入手できます。
https://www.oracle.com/technetwork/java/javase/downloads/index.html

 

Java SE

Java SEは、Java Platform, Standard Editionの略です。
Javaの標準的な機能のAPIの集合体です。

OracleのJava SEのダウンロードボタンをクリックするとJDKがダウンロードされます。

JavaSE (JDK)は、以下のOracleのサイトで入手できます。
https://www.oracle.com/technetwork/java/javase/downloads/index.html

以下は、OracleのJava概念図のリンクです。
リンク先の図の左側を見るとJDKはJREを内包していることがわかります。
https://docs.oracle.com/javase/jp/7/

バージョンの2から5までは J2SEと呼ばれていました。
バージョン6からJavaSEと呼ばれています。

Java SE10
Java SE9
Java SE8
Java SE7
Java SE6
J2SE 5.0
J2SE 1.4
J2SE 1.3
J2SE 1.2
JDK 1.1
JDK 1.0

 

Java EE

Java Platform, Enterprise Editionの略です。
Java SEに加えてサーバー向けの機能がついています。
JDKではなくSDKとなっています。

JavaEE (SDK)は、以下のOracleのサイトで入手できます。
http://www.oracle.com/technetwork/java/javaee/downloads/index.html

関連の記事

Java JDKのインストールと環境変数の設定

△上に戻る