Server JRE, 服务器版JRE
JRE安装包, JDK安装包, 以及 Server JRE 压缩包, 在 Java SE Download 页面都可以下载: http://www.oracle.com/technetwork/java/javase/downloads/index.html;
Java 相关的术语请参考: http://www.oracle.com/technetwork/java/glossary-135216.html.
JRE 可以运行各种Java程序, 包括服务端和桌面端Java程序。
而JDK是给开发人员用的, 其中包含了一个完整的JRE, 以及必要的开发工具, 例如 创建Java程序, 代码签名, 生成文档,等等。JDK还提供了监控和调试工具。
Server JRE 适用于哪些情况呢? 从一个服务器端程序的角度看, JRE缺少了所需的监控工具,以及 javac 编译器. 而 JDK 呢, 功能又太多了, 特别是生产环境下并不需要的功能, 比如浏览器插件,自动更新, javadoc 工具等等。
Server JRE 是专为服务器端程序量身打造的, 只包含JRE/JDK中最常用的那部分功能. 为了做到简单, Server JRE 不使用安装包, 而是一个绿色版的压缩文件。
Server JRE 兼容所有的服务端程序吗?
No. 如果应用程序需要用到 Server JRE 不支持的功能,如额外的开发工具或JavaFX, 那就不应该选择 Server JRE 了, 比如 JavaFX 之类的程序。
如果JDK是Server JRE的一个超集,那为何不直接使用JDK呢?
删除用不到的组件, 可以减少潜在的漏洞; 当然, 精简之后体积变小, 部署也就更快. 在 Linux x64 系统上, Server JRE 8 的大小只有 full JDK 8 的 40%左右。
开发商说, 他们的系统需要JDK来运行, 那么我们可以使用 Server JRE 替代吗?
最好是与软件开发商沟通和咨询。如果你们有能力,可以先在测试环境试一试. 总体来说, 更推荐使用 Server JRE。
我可以对 Server JRE 包含哪些组件提出建议吗?
是的。Server JRE 的目标, 是为大部分服务端程序提供必要的工具。我们会不断地重新评估到底需要包含哪些组件。
原文链接: https://blogs.oracle.com/java-platform-group/understanding-the-server-jre