AdoptOpenJDK 和 Red Hat OpenJDK 之间的技术差异 Windows
Technical difference between AdoptOpenJDK and Red Hat OpenJDK for Windows
Red hat 提供 Red Hat OpenJDK 8 for Windows for development use only (registration required). AdoptOpenJDK provides OpenJDK 8 builds for Windows (AdoptOpenJDK 8 Windows) 没有任何限制。
使用相同的 version/update(例如 8u181)时,这两个包之间是否存在任何技术差异?使用 "technical difference" 我的意思是缺少 classes/functions、不同的默认 JVM 设置等
Red Hat 在与 AdoptOpenJDK 和任何其他开源 OpenJDK 8 构建完全相同的许可下提供 OpenJDK 8 Windows 二进制文件 - 在 GNU GPL v. 2 with classpath exception 下。 "development use" 的所有限制仅与可从 Red Hat 购买的订阅(支持)相关。
Red Hat OpenJDK 8 for Windows 和其他提到的构建之间的技术差异非常小,因为所有这些构建都通过了 TCK。一般来说,Red Hat 构建试图在行为上尽可能接近 RHEL 和 CentOS 中包含的 OpenJDK 8 包。
差异:
RH OpenJDK 8 构建是从 RHEL/CentOS 上使用的 OpenJDK RPM 包的源代码完成的。这些来源通常非常接近 upstream sources, but contain some changes (see points below) and may include some bugfixes (RPM patches) ahead of time. RHEL/CentOS changes can be tracked in a publicly-available repo for CentOS RPM
RH OpenJDK 8 包括 Shenandoah garbage collector
RH OpenJDK 8 使用来自 RHEL/CentOS 的资源作为依赖库(zlib、giflib、libjpeg-turbo、libpng、nss(nss is not used anymore)) 而不是这些库的(部分)源代码包含在上游的树中 jdk sources
RH OpenJDK 8 中的 Elliptic Crypto 实现仅包含 3 个最流行的 elliptic curves - 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 implementation
RH OpenJDK 8 安装程序包含 WebStart implementation
资料来源:我在 RH 的 OpenJDK Windows 上工作。
我发现 AdoptOpenJDK 的主要区别是您可以从 2 种不同的 VM 实现中进行选择,我发现 HotSpot 的性能与 Oracle 的实现相似,或者效率更高的 Eclipse Open J9 jvm基于现在开源的以前的 IBM SDK 8 的实现。
确认我有一个 Eclipse Maven 项目,它在 Oracle 的 JVM 实现中编译速度很慢。
- AdoptOpenJDK Eclipse 打开 J9 - 1 分钟
- IBM SDK 8(商业许可证)- 1 分钟
- AdoptOpenJDK 使用 HotSpot 打开JDK8 - 7 分钟
- Oracle Java HotSpot(TM)(内部版本 1.8。0_181-b13)- 11 分钟
所以我认为开源 Oracle 的 JVM 比 Oracle 的商业 JVM 提供了一些更好的结果,但是开源 IBM 的 JDK 和 Open J9 更好,编译时间的性能快了 1 个数量级(对我来说项目)。
Redhat 提供的 openjdk 发行版无需订阅即可在生产中使用,这看起来并不正确。
https://developers.redhat.com/products/openjdk/download/ 所以这个页面正确地说它仅供开发使用。
资料来源:https://access.redhat.com/solutions/3116731
Red hat 提供 Red Hat OpenJDK 8 for Windows for development use only (registration required). AdoptOpenJDK provides OpenJDK 8 builds for Windows (AdoptOpenJDK 8 Windows) 没有任何限制。
使用相同的 version/update(例如 8u181)时,这两个包之间是否存在任何技术差异?使用 "technical difference" 我的意思是缺少 classes/functions、不同的默认 JVM 设置等
Red Hat 在与 AdoptOpenJDK 和任何其他开源 OpenJDK 8 构建完全相同的许可下提供 OpenJDK 8 Windows 二进制文件 - 在 GNU GPL v. 2 with classpath exception 下。 "development use" 的所有限制仅与可从 Red Hat 购买的订阅(支持)相关。
Red Hat OpenJDK 8 for Windows 和其他提到的构建之间的技术差异非常小,因为所有这些构建都通过了 TCK。一般来说,Red Hat 构建试图在行为上尽可能接近 RHEL 和 CentOS 中包含的 OpenJDK 8 包。
差异:
RH OpenJDK 8 构建是从 RHEL/CentOS 上使用的 OpenJDK RPM 包的源代码完成的。这些来源通常非常接近 upstream sources, but contain some changes (see points below) and may include some bugfixes (RPM patches) ahead of time. RHEL/CentOS changes can be tracked in a publicly-available repo for CentOS RPM
RH OpenJDK 8 包括 Shenandoah garbage collector
RH OpenJDK 8 使用来自 RHEL/CentOS 的资源作为依赖库(zlib、giflib、libjpeg-turbo、libpng、
nss(nss is not used anymore)) 而不是这些库的(部分)源代码包含在上游的树中 jdk sourcesRH OpenJDK 8 中的 Elliptic Crypto 实现仅包含 3 个最流行的 elliptic curves - 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 implementation
RH OpenJDK 8 安装程序包含 WebStart implementation
资料来源:我在 RH 的 OpenJDK Windows 上工作。
我发现 AdoptOpenJDK 的主要区别是您可以从 2 种不同的 VM 实现中进行选择,我发现 HotSpot 的性能与 Oracle 的实现相似,或者效率更高的 Eclipse Open J9 jvm基于现在开源的以前的 IBM SDK 8 的实现。 确认我有一个 Eclipse Maven 项目,它在 Oracle 的 JVM 实现中编译速度很慢。
- AdoptOpenJDK Eclipse 打开 J9 - 1 分钟
- IBM SDK 8(商业许可证)- 1 分钟
- AdoptOpenJDK 使用 HotSpot 打开JDK8 - 7 分钟
- Oracle Java HotSpot(TM)(内部版本 1.8。0_181-b13)- 11 分钟
所以我认为开源 Oracle 的 JVM 比 Oracle 的商业 JVM 提供了一些更好的结果,但是开源 IBM 的 JDK 和 Open J9 更好,编译时间的性能快了 1 个数量级(对我来说项目)。
Redhat 提供的 openjdk 发行版无需订阅即可在生产中使用,这看起来并不正确。
https://developers.redhat.com/products/openjdk/download/ 所以这个页面正确地说它仅供开发使用。 资料来源:https://access.redhat.com/solutions/3116731