[Java] Understanding the Server JRE

原文はこちら。
https://blogs.oracle.com/java-platform-group/understanding-the-server-jre

Java SEダウンロードページには、Java Server Runtime Environment (JRE) 、Server JRE、Java Development Kit (JDK) のダウンロードリンクがあります。
Java SE download Page
http://www.oracle.com/technetwork/java/javase/downloads/index.html
[Glossary]
Java Runtime Environment (JRE)
http://www.oracle.com/technetwork/java/glossary-135216.html#jre
JDK
http://www.oracle.com/technetwork/java/glossary-135216.html#jdk
JREは、デスクトップのJavaアプリケーションを含んだ幅広いJavaプログラムを実行するために使われます。JDKはJava開発者のためのもので、これには先ほど述べたJREと、Javaプログラムの開発、コードの署名、ドキュメントの生成などのために必要なツールが含まれています。JDKはプログラムの監視やデバッグのためのツールも同梱しています。

では、Server JREはどこに収まるのでしょう。一般的なサーバーサイド・アプリケーションの観点から、JREには監視ツールや、実行時にJavaソースコードをコンパイルするアプリケーションの場合、javacはありません。一方、JDKには、システム管理者にとっては、本番環境上では必要としないようなWebブラウザ用のJavaプラグイン、自動更新エージェント、javadocなどの開発ツールといった、追加の機能が含まれています。

Server JREについて:Server JREはサーバーサイド・アプリケーション用に設計されていて、JREおよびJDKから一般的に必要な機能だけを含んでいます。Server JREには専用のインストーラがなく、簡単に使用できるように単純に圧縮されたディレクトリとして提供しています。

Server JREは全てのサーバーアプリケーションで利用できるの?
いいえ、アプリケーションがServer JREで提供しているもの以外の機能を必要としている場合、例えば追加の開発ツールやJavaFXなどが必要であれば、Server JREは当該アプリケーションにとって適切な選択ではないでしょう。

JDKがServer JREのスーパーセットなら、単純にJDKを使えばいいんじゃないの?
不要なコンポーネントを削除することで、潜在的な攻撃対象を減らし、より小さいサイズにすることでストレージやデプロイメントをより速く、より簡単にしています。Linux x64システムでは、Server JRE 8はJDK 8のフルサイズの40%程度のサイズです。

利用しているソフトウェアのベンダーがアプリケーションにJDKが必要と言っているのだけど、そのかわりにServer JREを使うことができるの?
ソフトウェアベンダーに問い合わせてJDKではなくServer JREを利用できるかどうか尋ねてください。実験できるなら、試してみるべきでしょう。アプリケーションを実行するだけであれば、JDKよりもServer JREを常にお奨めします。

Server JREに含まれているものに対して変更を提案できるの?
はい。Server JREの目的は、大部分のサーバー・アプリケーションに必要なツールを提供することですが、全てのサーバー・アプリケーション向けでないのは確かにそうです。常に含めるべきコンポーネントを再評価しています。

通常のOracle Communityチャネルを通じて、是非フィードバックをお寄せください。
Java Runtime Environment (JRE)
https://community.oracle.com/community/java/java_desktop/java_runtime_environment

0 件のコメント:

コメントを投稿