java – Oracle JDK和OpenJDK之间的差异

NOTE: This question is from 2014. As of Java 11 OpenJDK and Oracle
JDK are converging.

Oracle和OpenJDK之间是否存在重大差异?

例如,垃圾收集和其他JVM参数是否相同?

GC在两者之间的工作方式不同吗?

解决方法:

OpenJDK和Oracle JDK目前​​仅由Oracle创建和维护.

OpenJDK和Oracle JDK是通过TCK(Java技术认证工具包)的相同Java规范的实现.

JDK的大多数供应商都是在OpenJDK之上编写的,通过做一些调整来[主要是替换许可的专有部件/替换只能在特定操作系统上工作的更高性能项目],而不会破坏TCK的兼容性.

许多供应商实现了Java规范并通过了TCK.例如,IBM J9,Azul Zulu,Azul Zing和Oracle JDK.

几乎每个现有的JDK都派生自OpenJDK.

正如许多人所建议的,许可是JDK之间的变化.

从JDK 11开始访问长时间支持Oracle JDK / Java SE现在需要商业许可证.您现在应该注意您正在安装的JDK,因为没有订阅的Oracle JDK可能会停止工作. source

参考:List of Java virtual machines

上一篇:Linux bash命令返回两个字符串不同的地方


下一篇:.NET Standard和.NET Core是什么关系(转载)