編集者注: この質問は、世界が異なっていた 2009 年に行われました。2022 年現在、標準のオープンソース OpenJDK は JDK のみです。
JDK と JRE の違いは何ですか?
それぞれの役割は何ですか? また、どちらをいつ使用すればよいですか?
ベストアンサー1
JREはJava Runtime Environmentです。Java 仮想マシン (JVM)、Java クラス ライブラリ、コマンドjava
、その他のインフラストラクチャなど、コンパイルされた Java プログラムを実行するために必要なすべてのパッケージです。ただし、新しいプログラムを作成するために使用することはできません。
JDKはJava 開発キットで、Java 用のフル機能の SDK です。JRE のすべての機能に加え、コンパイラ ( javac
) とツール ( やjavadoc
などjdb
) も含まれています。プログラムの作成とコンパイルが可能です。
通常、コンピュータ上で Java プログラムを実行することだけを目的とする場合は、JRE のみをインストールします。これで十分です。一方、Java プログラミングを行う予定の場合は、代わりに JDK をインストールする必要があります。
場合によっては、コンピュータ上で Java 開発を行う予定がない場合でも、JDK をインストールする必要があります。たとえば、JSP を使用して Web アプリケーションを展開する場合、技術的にはアプリケーション サーバー内で Java プログラムを実行しているだけです。その場合、なぜ JDK が必要なのでしょうか。アプリケーション サーバーは JSP を Java サーブレットに変換し、サーブレットをコンパイルするために JDK を使用する必要があるためです。他にも例はあると思います。