当我提取serverjre tar.gz时,我遇到了jdk文件夹。为什么serverJRE会给出类似JDK的文件夹?serverJRE中还有JRE文件夹。那么使用哪一个呢,整个serverJRE还是只使用serverJRE内部的JRE文件夹?此外,serverJRE内部的JRE内容与JDK内部的JRE相同。
我不理解它们之间的区别。
当我提取serverjre tar.gz时,我遇到了jdk文件夹。为什么serverJRE会给出类似JDK的文件夹?serverJRE中还有JRE文件夹。那么使用哪一个呢,整个serverJRE还是只使用serverJRE内部的JRE文件夹?此外,serverJRE内部的JRE内容与JDK内部的JRE相同。
我不理解它们之间的区别。
服务器JRE: 它用于在服务器上部署长时间运行的Java应用程序。它提供最快的操作速度。它已经被特别优化以最大限度地提高峰值运行速度。它具有高度侵略性的算法来优化Java应用程序的运行时性能。它还包括各种监控工具。
客户端JRE: 它用于在最终用户系统上运行Java应用程序。它包含运行Java应用程序所需的所有内容。它可以更快地启动并需要较小的内存占用。
来自Oracle页面。
服务器JRE包括用于JVM监视和服务器应用程序通常需要的工具,但不包括浏览器集成(Java插件)。
因此,两者之间的差异非常小。这也意味着Server JRE和JDK之间的区别主要在于JDK具有编译器。我甚至没有意识到他们已经将JRE分成了单独的产品,但多年来我想不起来有人曾向任何人建议过Client JRE。
考虑到Applets已经死了,我认为没有下载Client JRE的好理由。但是我不从事桌面Java业务,所以谁知道呢。
我认为人们没有理解OP的出发点,而我刚好遇到了这个问题。以下是一些详细的背景信息。
截至最新季度更新,“p22187044_17095_Linux-x86-64.zip”内的服务器jre gzipped tar ball中根级目录为“jdk1.7.0_95”
在我看来,这是Oracle的疏忽。如果您需要同时使用两者并尝试将它们提取到同一个目录中,则会将两者都提取到同一个目录中。
$ 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/