java - AdoptOpenJDK 和 Red Hat OpenJDK for Windows 之间的技术差异

标签 java windows redhat-openjdk

红帽提供了 Red Hat OpenJDK 8适用于 Windows 仅供开发使用(需要注册)。 AdoptOpenJDK 为 Windows (AdoptOpenJDK 8 Windows) 提供 OpenJDK 8 构建,没有任何限制。

当使用相同的版本/更新(例如 8u181)时,这两个软件包之间是否存在任何技术差异? “技术差异”是指缺少类/函数、不同的默认 JVM 设置等。

最佳答案

Red Hat 在与 AdoptOpenJDK 和任何其他开源 OpenJDK 8 构建完全相同的许可下提供 OpenJDK 8 Windows 二进制文件 - 在 GNU GPL v. 2 with classpath exception 下.有关“开发用途”的所有限制仅与可从 Red Hat 购买的订阅(支持)相关。

Red Hat OpenJDK 8 for Windows 和其他提到的构建之间的技术差异非常小,因为所有这些构建都通过了 TCK .通常,Red Hat 构建试图在行为上尽可能接近 RHEL 和 CentOS 中包含的 OpenJDK 8 包。

区别:

  1. RH OpenJDK 8 构建是从 RHEL/CentOS 上使用的 OpenJDK RPM 包的源代码完成的。这些来源通常非常接近 upstream sources ,但包含一些更改(请参阅下面的要点)并且可能提前包含一些错误修复(RPM 补丁)。 RHEL/CentOS 更改可以在公开可用的 repo for CentOS RPM 中进行跟踪

  2. RH OpenJDK 8 包括 Shenandoah garbage collector

  3. RH OpenJDK 8 使用来自 RHEL/CentOS 的源作为依赖库(zlib、giflib、libjpeg-turbo、libpng、nss ( nss is not used anymore ))而不是(部分)源这些库包含在上游 jdk 源中的树中

  4. RH OpenJDK 8 中的 Elliptic Crypto 实现仅包括 3 个最流行的 elliptic curves - NIST P-256、NIST P-384 和 NIST P-521。

  5. RH OpenJDK 8 使用来自 RHEL/CentOS 的根 CA 证书集

  6. RH OpenJDK 8 可能使用稍新的时区数据 - 它取自 RHEL/CentOS

  7. RH OpenJDK 8 包括 src.zip 文件中的所有 Java 源代码(IDE 使用它来允许浏览 jdk 代码),在上游构建中不包括这些源的大部分

    <
  8. RH OpenJDK 8 不包含演示和示例

  9. RH OpenJDK 8 包含一组字体文件

  10. RH OpenJDK 8 中的所有 native 二进制文件均由 RH 证书签名

  11. RH OpenJDK 8 安装程序包含 JavaFX implementation

  12. RH OpenJDK 8 安装程序包含 WebStart implementation

资料来源:我在 RH 从事 OpenJDK Windows 构建工作。

关于java - AdoptOpenJDK 和 Red Hat OpenJDK for Windows 之间的技术差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202807/

相关文章:

java - 回复使用 Twitter4J 向您的帐户发送推文的用户

java - Eclipse导入项目时出现错误 'could not determine Java version'

c# - 具有舒适的 IDE 和 GUI 设计器 (Windows/Linux/OS X) 和信息可视化库的跨平台 GUI?

java - Fitnesse 执行了太多测试

java - 由于 setImageResource(rowItem.getImageId()) 应用程序崩溃

c++ - 从另一个应用程序在 Cygwin 中运行 bash 命令

javascript - 使用 JavaScript 检查浏览器是否支持自定义协议(protocol)?

c++ - "APIENTRY _tWinMain"和"WINAPI WinMain"的区别

java - 在openjdk中,安全策略没有生效