JavaのJREとJVMとJDKとJava SEとJava EEの違いです。
目次
説明 | JREとJVM |
JDK (Java Development Kit) | |
Java SE | |
Java EE |
JREとJVM
JREとは
JREとは、Java Runtime Environmentの略でJavaの実行環境です。
Javaランタイムとも呼ばれます。
Javaベースのソフトウェアを動かすときやJava実行環境が必要なサイトを利用する時などに必要です。
JREは、以下のサイトで入手できます。
https://www.java.com/ja/
このページの文字ですが、「あなたとJAVA,今すぐダウンロード」とインパクトがあるものになっていてネット上のちょっとした定番ネタになっています。
JVMとは
Java Virtual Machineの略でJavaプログラムを動かすのに必要なJava仮想マシンです。
Java VMとも呼ばれます。
上図のようにJREの中にJVMがあるイメージです(JRE = JVM + ライブラリ)。
JVMは、WindowsやLinuxなどのOS毎の違いを吸収してくれます。
そのためプログラムをする側がOSの違いを意識しなくてよくなります。
本来であれば、OSごとにプログラムを作成する必要があります。
JVMは、Java以外のScalaやKotlinといったプログラミング言語も動かすことができます。
JVMの使用例
Eclipseの設定ファイルのeclipse.iniで、起動オプションの-vmを指定してJVMの場所を指定します。
-vm
C:/Program Files/Java/jdk1.8.0_211/bin/javaw.exe
以下は、Oracleの用語の違いについて書かれているリンクです。
https://www.java.com/ja/download/faq/techinfo.xml
JDK (Java Development Kit)
JDKは、JREとJavaプログラムを開発するためのライブラリが入っています。
以下は、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
関連の記事