「JDKをインストールしてください」「JREが必要です」「JVMで動きます」
Javaを始めようとすると、JDK・JRE・JVMという3つの似たような言葉が出てきて、混乱しませんか?
「全部Jから始まるし、何が違うの?」「どれをインストールすればいいの?」
この記事では、この3つの違いを「マトリョーシカ人形」に例えて、スッキリ解説します。この記事を読めば、もう迷うことはなくなりますよ!
結論:3つの関係は「入れ子構造」
最初に結論をお伝えすると、JDK・JRE・JVMはマトリョーシカのような「入れ子構造」になっています。
- JDK(一番大きい)の中に → JRE が入っている
- JREの中に → JVM が入っている
つまり、JDK > JRE > JVM という関係です。
それぞれが何なのか、詳しく見ていきましょう。
JVM(Java Virtual Machine)とは?
まずは一番内側のJVMから。
JVMは「Java Virtual Machine」の略で、日本語では「Java仮想マシン」と呼ばれます。
JVMの役割:Javaプログラムを動かすエンジン
JVMは、Javaで書かれたプログラムを実際に動かすための「エンジン」です。
車に例えると、JVMはエンジン。エンジンがないと車は走れませんよね?同じように、JVMがないとJavaプログラムは動きません。
なぜ「仮想マシン」なの?
Javaの大きな特徴は、「一度書けば、どこでも動く」こと。
Windows、Mac、Linuxなど、OSが違っても同じJavaプログラムが動きます。これを可能にしているのがJVMです。
JVMが「通訳」のように、JavaのコードをそれぞれのOSがわかる形に変換してくれるんです。
| JVMのポイント | 説明 |
|---|---|
| 役割 | Javaプログラムを実行する |
| 例え | 車のエンジン |
| 特徴 | OSの違いを吸収してくれる |
JRE(Java Runtime Environment)とは?
次はJRE。JVMを包む「中くらいのマトリョーシカ」です。
JREは「Java Runtime Environment」の略で、「Java実行環境」という意味です。
JREの役割:Javaを動かすためのセット
JREは、JVMに加えて、Javaプログラムを動かすのに必要な「ライブラリ」や「ツール」がセットになったものです。
車に例えると、JREは「エンジン+タイヤ+ガソリンタンク」のセット。エンジン(JVM)だけでは車は動きません。タイヤやガソリンタンクも必要ですよね。
JREが必要なのはどんな時?
「Javaで作られたソフトを使いたい」という場合は、JREがあればOKです。
例えば、Javaで作られたゲームやアプリを動かしたいだけなら、JREをインストールすれば動きます。
| JREのポイント | 説明 |
|---|---|
| 役割 | Javaプログラムを実行するための環境一式 |
| 含まれるもの | JVM + ライブラリ + 実行に必要なツール |
| 例え | エンジン+タイヤ+燃料タンク |
| 用途 | Javaアプリを「使う」人向け |
JDK(Java Development Kit)とは?
最後はJDK。一番大きなマトリョーシカです。
JDKは「Java Development Kit」の略で、「Java開発キット」という意味です。
JDKの役割:Javaを作るための道具箱
JDKは、JREに加えて、Javaプログラムを「作る」ためのツールが入ったセットです。
車に例えると、JDKは「車を作るための工場設備一式」。車を動かすだけでなく、車を作ることができます。
JDKに含まれる開発ツール
- javac:Javaのコードを変換する「コンパイラ」
- java:プログラムを実行するコマンド
- jdb:バグを見つける「デバッガ」
- javadoc:ドキュメントを作るツール
プログラミングを学ぶならJDKが必須
「Javaでプログラミングを学びたい」「Javaエンジニアになりたい」という方は、JDKをインストールする必要があります。
JDKがないと、自分でJavaのコードを書いて動かすことができません。
| JDKのポイント | 説明 |
|---|---|
| 役割 | Javaプログラムを開発するための環境一式 |
| 含まれるもの | JRE + コンパイラ + 開発ツール |
| 例え | 車を作るための工場設備 |
| 用途 | Javaアプリを「作る」人向け |
3つの違いを一覧で比較
ここまでの内容を、一覧表でまとめます。
| 項目 | JVM | JRE | JDK |
|---|---|---|---|
| 正式名称 | Java Virtual Machine | Java Runtime Environment | Java Development Kit |
| 日本語 | Java仮想マシン | Java実行環境 | Java開発キット |
| 役割 | プログラムを実行 | 実行環境を提供 | 開発環境を提供 |
| 含まれるもの | 実行エンジンのみ | JVM+ライブラリ | JRE+開発ツール |
| 対象者 | ― | Javaアプリを使う人 | Javaアプリを作る人 |
| 車で例えると | エンジン | 走れる車 | 車の製造工場 |
結局、何をインストールすればいい?
「で、自分は何をインストールすればいいの?」という疑問にお答えします。
Javaを学びたい・開発したい人 → JDK
プログラミングを学ぶなら、JDK一択です。
JDKをインストールすれば、JREもJVMも一緒に入ります。開発に必要なものがすべて揃うので、迷ったらJDKを入れておけばOKです。
Javaアプリを動かしたいだけの人 → JRE
「Javaで作られたゲームを遊びたい」「業務でJavaアプリを使う」という場合は、JREだけでOKです。
ただし、最近はJREだけの配布が少なくなってきているので、結局JDKをインストールすることが多いです。
JDKの種類について
JDKにはいくつかの種類があります。初心者の方が知っておくべきものを紹介します。
| 名称 | 提供元 | 特徴 |
|---|---|---|
| Oracle JDK | Oracle社 | 本家。商用利用は有料の場合あり |
| OpenJDK | オープンソース | 無料。多くの企業が採用 |
| Amazon Corretto | Amazon | 無料。長期サポートあり |
| Adoptium(旧AdoptOpenJDK) | Eclipse Foundation | 無料。初心者におすすめ |
学習目的であれば、AdoptiumやAmazon Correttoがおすすめ。無料で使えて、インストールも簡単です。
よくある質問
Q. JDKのバージョンはどれを選べばいい?
学習目的なら、最新のLTS(長期サポート)バージョンを選びましょう。2025年現在はJava 21が最新のLTSです。特に指定がなければ、Java 17やJava 21を選んでおけば間違いありません。
Q. 32bit版と64bit版、どっちを入れる?
今のパソコンはほぼ64bitなので、64bit版を選びましょう。
Q. PATH(パス)の設定って何?
JDKをインストールした後、「環境変数」の設定が必要になることがあります。これは「JDKがどこにあるかパソコンに教える」作業です。最近のインストーラーは自動で設定してくれることが多いですが、うまく動かない場合は「JDK PATH 設定」で検索してみてください。
まとめ
この記事のポイントを整理します。
| 項目 | 内容 |
|---|---|
| JVM | Javaを動かす「エンジン」 |
| JRE | JVM+実行に必要なもののセット |
| JDK | JRE+開発ツールのセット |
| 関係性 | JDK > JRE > JVM(入れ子構造) |
| 学習者がインストールすべきもの | JDK(これ一つでOK) |
JDK・JRE・JVMの違い、スッキリ理解できましたか?
最初は混乱しがちですが、「JDKをインストールすれば全部入る」と覚えておけば大丈夫。まずは環境構築を終わらせて、実際にJavaを書いてみましょう!
SKサービスでは、Java未経験からエンジニアデビューした先輩がたくさんいます。「環境構築で詰まった…」「何から始めればいいかわからない」という方も、現場で一つずつ学んでいけます。やる気さえあれば大丈夫。まずはお気軽にご相談ください!