web-dev-qa-db-ja.com

サーバーJREとクライアントJREの違い

私はserverjreを通過していましたが、serverjre tar.gzを抽出すると、jdkフォルダが表示されました。 serverJREがJDKのようなフォルダを提供するのはなぜですか。 serverJRE内にもJREフォルダーがあります。どちらを使用するか、serverJRE全体、またはserverJRE内のJREフォルダーのみ。また、serverJRE内のJREの内容は、JDK内のJREと同じです。

違いがわかりません。

13

サーバーJRE:これは、長時間実行するアプリケーションを展開するために使用されますJavaサーバー上でアプリケーションを実行します。可能な限り最速の動作速度を提供します。ピーク動作を最大化するように特に微調整されています速度。Javaアプリケーションの実行時パフォーマンスを最適化する非常に積極的なアルゴリズムを備えています。また、さまざまな監視ツールも含まれています。

クライアントJRE:エンドユーザーのシステムでJavaアプリケーションを実行するために使用されます。Javaアプリケーションを実行するためのすべてが含まれています。起動が速くなり、必要なメモリフットプリントが小さくなります。

15
Kevin Andrid

Oracleのページ から。

サーバーJREには、JVM監視用のツールとサーバーアプリケーションに一般的に必要なツールが含まれていますが、ブラウザー統合は含まれていません(Javaプラグイン)。

したがって、その差は信じられないほど小さいものです。これは、サーバーJREとJDKの違いが主にJDKにコンパイラーがあることのようにも見えることを意味します。私は彼らがJREを別々の製品にしたことに気づいていませんでしたが、何年もの間、誰もがクライアントJREを誰かに提案したことを覚えていません。

アプレットが完全に死んでいることを考えると、クライアントJREをダウンロードする理由はわかりません。それから、私はデスクトップJavaのビジネスには関わっていないので、誰もが知っています。

2
Kayaman

OPがどこから来たのか、人々が理解していないと思います。以下は、いくつかの詳細なコンテキストです。

最新の四半期ごとの更新では、サーバー内のルートレベルディレクトリjre gzipped tar ball "p22187044_17095_Linux-x86-64.Zip"は "jdk1.7.0_95"です。

IMO、これはオラクルの側ではずさんです。両方で作業し、それぞれを同じディレクトリに抽出する必要がある場合は、両方を同じディレクトリに抽出します。

$ unzip p22187044_17095_Linux-x86-64.Zip server-jre-7u95-linux-x64.tar.gz
$ tar xzvf server-jre-7u95-linux-x64.tar.gz
# Extracted files with top-level directory: "jdk1.7.0_95"
# This polluted my previously extracted JDK (See differences below).

# Get a clean JDK 7 again:
$ rm -rf jdk1.7.0_95/

$ tar xzvf jdk-7u95-linux-x64.tar.gz

# Try again with the JRE; this time creating a container directory for the tar extraction:
$ mkdir jre1.7.0_95   &&   tar  xzvf server-jre-7u95-linux-x64.tar.gz -C jre1.7.0_95/
# Directory "jre1.7.0_95/" contains top-level directory "jdk1.7.0_95"

# Let's look at the differences:
$ diff -qr  jdk1.7.0_95     jre1.7.0_95/jdk1.7.0_95/

Only in jdk1.7.0_95/bin: ControlPanel
Only in jdk1.7.0_95/bin: javaws
Only in jdk1.7.0_95/bin: jcontrol
Only in jdk1.7.0_95/bin: jmc
Only in jdk1.7.0_95/bin: jmc.ini
Only in jdk1.7.0_95/jre/bin: ControlPanel
Only in jdk1.7.0_95/jre/bin: Java_vm
Only in jdk1.7.0_95/jre/bin: javaws
Only in jdk1.7.0_95/jre/bin: jcontrol
Only in jdk1.7.0_95/jre/lib/AMD64: libdeploy.so
Only in jdk1.7.0_95/jre/lib/AMD64: libjavaplugin_jni.so
Only in jdk1.7.0_95/jre/lib/AMD64: libnpjp2.so
Files jdk1.7.0_95/jre/lib/charsets.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/charsets.jar differ
Only in jdk1.7.0_95/jre/lib: deploy
Only in jdk1.7.0_95/jre/lib: deploy.jar
Only in jdk1.7.0_95/jre/lib: desktop
Files jdk1.7.0_95/jre/lib/ext/localedata.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/ext/localedata.jar differ
Only in jdk1.7.0_95/jre/lib/images: icons
Only in jdk1.7.0_95/jre/lib: javaws.jar
Files jdk1.7.0_95/jre/lib/jfxrt.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/jfxrt.jar differ
Files jdk1.7.0_95/jre/lib/jsse.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/jsse.jar differ
Only in jdk1.7.0_95/jre/lib: locale
Only in jdk1.7.0_95/jre/lib: plugin.jar
Files jdk1.7.0_95/jre/lib/rt.jar and jre1.7.0_95/jdk1.7.0_95/jre/lib/rt.jar differ
Only in jdk1.7.0_95/jre/lib/security: javaws.policy
Only in jdk1.7.0_95/jre: plugin
Only in jdk1.7.0_95/lib: missioncontrol
Files jdk1.7.0_95/lib/tools.jar and jre1.7.0_95/jdk1.7.0_95/lib/tools.jar differ
Only in jdk1.7.0_95/man/ja/man1: javaws.1
Only in jdk1.7.0_95/man/ja_JP.UTF-8/man1: javaws.1
Only in jdk1.7.0_95/man/man1: javaws.1

# And the size of each:
$ du -sh jdk1.7.0_95/   jre1.7.0_95/jdk1.7.0_95/

301M    jdk1.7.0_95/
235M    jre1.7.0_95/jdk1.7.0_95/

結局、それは本当にあなたがどちらを使うべきかについてあなたのアプリケーションに依存します。ベンダーアプリ用。私は通常、それらの推奨事項を参照します。ない場合は、JDKを使用します。これには、インタラクティブアプリのすべてのユースケースを実行する簡単な方法がないため、後で知りたくない「もの」が多く含まれているためです。

0
user3183018