Red hat 提供Red Hat OpenJDK 8 for Windows,仅供开发使用(需要注册)。AdoptOpenJDK 为 Windows ( AdoptOpenJDK 8 Windows )提供 OpenJDK 8 构建,没有任何限制。
使用相同版本/更新(例如 8u181)时,这两个软件包之间是否存在技术差异?“技术差异”是指缺少类/函数、不同的默认 JVM 设置等。
Red hat 提供Red Hat OpenJDK 8 for Windows,仅供开发使用(需要注册)。AdoptOpenJDK 为 Windows ( AdoptOpenJDK 8 Windows )提供 OpenJDK 8 构建,没有任何限制。
使用相同版本/更新(例如 8u181)时,这两个软件包之间是否存在技术差异?“技术差异”是指缺少类/函数、不同的默认 JVM 设置等。
Red Hat 在与 AdoptOpenJDK 和任何其他开源 OpenJDK 8 版本完全相同的许可下提供 OpenJDK 8 Windows 二进制文件 - 在GNU GPL v. 2 下,类路径例外。所有关于“开发使用”的限制仅与可从 Red Hat 购买的订阅(支持)有关。
Red Hat OpenJDK 8 for Windows 和其他提到的构建之间的技术差异非常小,因为所有这些构建都通过了TCK。通常,Red Hat 构建试图在行为上尽可能接近 RHEL 和 CentOS 中包含的 OpenJDK 8 软件包。
差异:
RH OpenJDK 8 构建是从 RHEL/CentOS 上使用的 OpenJDK RPM 包的源代码完成的。这些来源通常非常接近上游来源,但包含一些更改(见下文),并且可能提前包含一些错误修复(RPM 补丁)。可以在CentOS RPM的公开可用存储库中跟踪 RHEL/CentOS 更改
RH OpenJDK 8 包括Shenandoah 垃圾收集器
RH OpenJDK 8 使用来自 RHEL/CentOS 的源代码作为依赖库(zlib、giflib、libjpeg-turbo、libpng、nss(不再使用 nss))而不是上游树中包含的这些库的(部分)源代码jdk 源码
RH OpenJDK 8 中的椭圆加密实现仅包括 3 种最流行的椭圆曲线- NIST P-256、NIST P-384 和 NIST P-521。
RH OpenJDK 8 使用来自 RHEL/CentOS 的一组根 CA 证书
RH OpenJDK 8 可能使用稍新的时区数据——它取自 RHEL/CentOS
RH OpenJDK 8 在 src.zip 文件中包含所有 Java 源代码(IDE 使用它来允许浏览 jdk 代码),在上游构建中这些源的大部分不包括在内
RH OpenJDK 8 不包含演示和示例
RH OpenJDK 8 包含一组字体文件
RH OpenJDK 8 中的所有本机二进制文件均由 RH 证书签名
RH OpenJDK 8 安装程序包含一个JavaFX 实现
RH OpenJDK 8 安装程序包含一个WebStart 实现
资料来源:我在 RH 从事 OpenJDK Windows 构建工作。
我发现 AdoptOpenJDK 的主要区别在于,您可以从 2 种不同的 VM 实现中进行选择,我发现 HotSpot 的性能与 Oracle 的实现相似,或者更高效的 Eclipse Open J9 jvm 实现,它基于以前的 IBM SDK 8,它现在是开源的。为了确认我有一个 Eclipse Maven 项目,它在 Oracle 的 JVM 实现中编译速度很慢。
所以我认为开源 Oracle 的 JVM 比 Oracle 的商业 JVM 提供了更好的结果,但是开源 IBM 的 Open J9 JDK 要好得多,并且性能在编译时间上快 1 个数量级(对于我的项目)。
这看起来并不正确,redhat 提供的 openjdk 分发版无需订阅即可在生产中使用。
https://developers.redhat.com/products/openjdk/download/所以这个页面正确地说它仅用于开发用途。来源:https ://access.redhat.com/solutions/3116731