英文原文:https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#Diffs
尽管我们提到过要让 OpenJDK 和 Oracle JDK 二进制文件尽可能接近一致,但是至少对于 JDK 11,两者之间仍然存在若干差异。
当前的差异是:
-
只有 Oracle JDK 提供 Solaris,只有 OpenJDK 提供 Alpine Linux。
-
Oracle JDK提供“安装程序”(msi、rpm、deb等),它不仅将JDK二进制文件放在您的系统中,而且还包含更新规则,在某些情况下处理一些常见的配置,比如设置公共环境变量(例如,Windows中的JAVA_HOME)和建立文件关联(例如AS,使用Java启动.jar文件)。OpenJDK 只提供压缩包(TAR.GZ或.zip)。
-
javac --release 9与javac --release 10行为不一样。Oracle JDK 二进制文件包括的一些APIs 如 javafx、资源管理及 (JDK 11 之前修改的) JFR APIs 未添加到 OpenJDK 二进制文件中。 -
Oracle JDK 提供 "JDK" and "JRE". OpenJDK 只提供 "JDK".
-
使用日志只能在 Oracle JDK 中使用。
-
如果 OpenJDK 使用 -XX:+UnlockCommercialFeatures 会抛出异常并崩溃。 Oracle JDK 不再需要这个选项,如果用了会输出警告信息,但是会继续运行。
-
Oracle JDK 要求第三方加密提供程序使用 Oracle 提供的证书进行签名。 OpenJDK 将继续允许使用未签名的第三方加密提供者。
-
java -version的输出会不同。 Oracle JDK will say java and include LTS. OpenJDK(当由 Oracle 开发时)将称为 OpenJDK,而不包括 Oracle 特定的 LTS 标识。 -
Oracle JDK将在 OTN 许可下发布。任何许可证文件都需要指向OTN。OpenJDK 将在 GPLV2WCP 许可下发布,并将包含 GPL 许可证。
-
Oracle JDK 将在 FreeType 许可下分发 FreeType ,OpenGDK 将在 GPLV2 下分发 FreeType。因此 \legal\java.desktop\freetype.md 内容会不同。
-
Oracle JDK有 Java 杯子和蒸汽图标(译者 : image:https://www.java.com/ga/images/auto/1371159372900?image=true[Java 商标] ),OpenJDK有Duke图标(译者:image:http://openjdk.java.net/images/duke-thinking.png[OpenJDK商标] )。
-
Oracle JDK source code includes "ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms." and OpenJDK source includes the GPL.







网友评论