JREとJDKの違いは何?Java開発初心者向けにわかりやすく解説
Javaを学び始めると、必ず耳にするのが「JDK」と「JRE」という2つの用語です。名前が似ているため混同されやすいのですが、それぞれ役割や含まれる機能が異なります。この記事では、両者の違いを初心者にもわかりやすく解説します。
JDK(Java Development Kit)とは
JDKは「Java Development Kit」の略で、Javaアプリケーションの開発と実行に必要なすべてのツールおよびライブラリをまとめたソフトウェアパッケージです。
JDKには以下のようなものが含まれています。
- コンパイラ(javac):ソースコード(.javaファイル)をバイトコード(.classファイル)に変換するツール
- JRE:後述するJava実行環境一式
- デバッガなどの開発支援ツール
- 各種ライブラリとAPI
つまり、JDKにはJREが含まれており、Javaプログラムを「作る人」にとって必要な環境だと言えます。
JRE(Java Runtime Environment)とは
JREは「Java Runtime Environment」の略で、Javaプログラムを実行するために必要なソフトウェア環境です。
JREの中核となるのは以下の要素です。
- JVM(Java Virtual Machine):バイトコードを解釈・実行する仮想マシン
- コアクラスライブラリ:プログラム実行時に必要な標準ライブラリ群
開発は行わず、完成済みのJavaアプリケーションを動かしたいだけであれば、JREだけあれば十分です。
JDKとJREの違いを比較
| 項目 | JDK | JRE |
|---|---|---|
| 主な用途 | Javaアプリの開発+実行 | Javaアプリの実行のみ |
| コンパイラ(javac) | 含まれる | 含まれない |
| JVM | 含まれる | 含まれる |
| 対象ユーザー | 開発者 | 一般ユーザー |
どちらをインストールすべき?
Javaプログラムを自分で書いてコンパイルしたいならJDKを選びましょう。逆に、配布されたJavaアプリケーションを実行するだけならJREで足ります。迷った場合は、開発も実行もカバーできるJDKをインストールしておくのがおすすめです。
-
DirectX11とDirectX12の違いを徹底解説!ゲーマーが知っておくべきポイント
DirectXは、ソフトウェアがマルチメディアコンテンツを描画し、グラフィックハードウェアと通信するために使用されるAPI(アプリケーションプログラミングインターフェース)のコレクションです。DirectXの主要な構成要素であるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を担っています。ハードウェアは製品ごとに異なるため、標準化された関数や呼び出しのライブラリを通じてグラフィックカードと通信することで、ゲーム開発を大幅にスピードアップできます。これは「ハードウェア抽象化」と呼ばれ、APIの最も重要な役割となっています。車に例えてみましょう。1台の車の運転ができれば、ほぼ
-
JavaとJavaScriptの違いとは?歴史・技術・使い分けを徹底解説
ウェブ開発者のジェレミー・キースは2009年、「JavaとJavaScriptの関係は、ハムとハムスターの関係のようなものだ」と語りました。この比喩がどれほど正確かは議論の余地がありますが、その本質は的確です。共通する言語的ルーツを持つにもかかわらず、JavaとJavaScriptはまったく異なる2つのプログラミング言語なのです。年月とともに両者の重なりも多少増えましたが、今なおJavaScriptはウェブサイトにインタラクティブ性をもたらすフロントエンド言語の主流であり続け、Javaはサーバーサイドやアプリケーション開発で人気を保っています。開発者を採用したい方、プログラミングを学びたい方