注意:此问题来自2014年。从Java 11 OpenJDK和Oracle开始
JDK正在融合。


Oracle和OpenJDK之间有什么重要区别吗?

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

两者之间的GC工作方式是否有所不同?

最佳答案

OpenJDK和Oracle JDK都仅由Oracle当前创建和维护。

OpenJDK和Oracle JDK是通过TCK(Java技术认证套件)的同一Java规范的实现。

大多数JDK供应商都是在OpenJDK之上编写的,做了一些调整[主要是替换许可的专有部件/替换为仅在特定OS上可用的更多高性能项目]组件,而又没有破坏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

10-07 19:05
查看更多