适用于Windows的AdoptOpenJDK和Red Hat OpenJDK之间的技术区别

时间:2018-09-06 11:13:04

标签: java windows redhat-openjdk

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

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

3 个答案:

答案 0 :(得分:16)

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

用于Windows的Red Hat OpenJDK 8与其他提到的构建之间的技术差异很小,因为所有这些构建都通过了TCK。通常,Red Hat构建试图在行为上尽可能与RHEL和CentOS中包含的OpenJDK 8软件包保持紧密联系。

差异:

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

  2. 中跟踪RHEL / CentOS的更改
  3. RH OpenJDK 8包括Shenandoah garbage collector

  4. RH OpenJDK 8将RHEL / CentOS的源文件用于依赖库(zlib,giflib,libjpeg-turbo,libpng,nss),而不是上游jdk中包含在树中的这些库的(部分)源。来源

  5. RH OpenJDK 8中的椭圆加密实现仅包括3种最受欢迎​​的elliptic curves-NIST P-256,NIST P-384和NIST P-521。

  6. RH OpenJDK 8使用来自RHEL / CentOS的一组根CA证书

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

  8. RH OpenJDK 8将所有Java源代码包含在src.zip文件内(IDE使用该Java源代码允许浏览jdk代码),但在上游构建中未包含这些源代码的大部分

  9. RH OpenJDK 8不包含演示和样本

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

  11. RH OpenJDK 8中的所有本机二进制文件均由RH证书签名

  12. RH OpenJDK 8安装程序包括一个JavaFX implementation

  13. RH OpenJDK 8安装程序包括一个WebStart implementation

来源:我在RH的OpenJDK Windows版本上工作。

答案 1 :(得分:1)

我发现的AdoptOpenJDK的主要区别是,您可以从2种不同的VM实现中进行选择,我发现的HotSpot性能与Oracle的实现类似,但性能较慢,或者基于以前的IBM的Eclipse Open J9 jvm实现更加高效。现在已开源的SDK 8。 确认我有一个Eclipse Maven项目,该项目在Oracle的JVM实现中编译缓慢。

  1. 采用OpenJDK Eclipse Open J9-1分钟
  2. IBM SDK 8(商业许可)-1分钟
  3. 采用带有热点的OpenJDK OpenJDK8-7分钟
  4. Oracle Java HotSpot(TM)(内部版本1.8.0_181-b13)-11分钟

因此,我认为与Oracle商业JVM相比,开源Oracle的JVM产生了更好的结果,但是与IBM JDK和Open J9的开源比这要好得多,并且编译时间的性能要快1个数量级(对于我的项目)。

答案 2 :(得分:0)

这看起来并不正确,因为redhat提供的openjdk发行版无需订阅即可用于生产。

https://developers.redhat.com/products/openjdk/download/因此,此页面正确地说明了它仅用于开发用途。 来源:https://access.redhat.com/solutions/3116731