openjdk oracle jdk 区别,Oracle JDK 与 OpenJDK 有什么不同?【中译版】

只有 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 source code includes "ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms." and OpenJDK source includes the GPL.

你可能感兴趣的:(openjdk,oracle,jdk,区别)