Red hat为Windows提供Red Hat OpenJDK 8,仅供开发使用(需要注册)。 AdoptOpenJDK提供Windows(AdoptOpenJDK 8 Windows)的OpenJDK 8构建,没有任何限制。
使用相同的版本/更新(例如8u181)时,这两个软件包之间是否存在技术差异? “技术差异”是指缺少类/函数,不同的默认JVM设置等。
答案 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软件包保持紧密联系。
差异:
RH OpenJDK 8构建是从RHEL / CentOS上使用的OpenJDK RPM软件包的源完成的。这些来源通常非常接近upstream sources,但包含一些更改(请参见以下要点),并且可能会提前包含一些错误修正(RPM补丁)。可以在公开可用的repo for CentOS RPM
RH OpenJDK 8包括Shenandoah garbage collector
RH OpenJDK 8将RHEL / CentOS的源文件用于依赖库(zlib,giflib,libjpeg-turbo,libpng,nss),而不是上游jdk中包含在树中的这些库的(部分)源。来源
RH OpenJDK 8中的椭圆加密实现仅包括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将所有Java源代码包含在src.zip文件内(IDE使用该Java源代码允许浏览jdk代码),但在上游构建中未包含这些源代码的大部分
RH OpenJDK 8不包含演示和样本
RH OpenJDK 8包含一组字体文件
RH OpenJDK 8中的所有本机二进制文件均由RH证书签名
RH OpenJDK 8安装程序包括一个JavaFX implementation
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实现中编译缓慢。
因此,我认为与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