Oracle JDK和OpenJDK之间的差异

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之间的变化。

Ref:Java虚拟机列表


没有关键。 OpenJDK项目主要基于Sun捐赠的HotSpot源代码。

此外,OpenJDK被选为Java 7的参考实现,并由Oracle工程师维护。

这里有一个更详细的回答你的问题,链接到这篇博客文章:

:在OpenJDK存储库中找到的源代码和用于构建Oracle JDK的代码有什么区别?

:非常接近 - Oracle JDK发行版的构建过程基于OpenJDK 7构建,只需添加几个部分,如部署代码(包括Oracle的Java插件和Java WebStart实现)以及一些封闭源代码第三版第三方组件如图形光栅化器,一些开源第三方组件(如Rhino),以及其他一些零散件,比如附加文档或第三方字体。 展望未来,我们的目标是开放Oracle JDK的所有部分,除了那些我们认为商业特性如JRockit Mission Control(尚未在Oracle JDK中提供)的应用以外,还用开源替代品取代设防的第三方组件,以实现更接近的奇偶校验在代码库之间。


未来的主要区别在于发布时间表和支持政策。

OpenJDK的

OpenJDK将每6个月发布一次功能,只有在下一个功能发布时才支持。 它本质上是针对开发人员的连续发布版本。

Oracle JDK

Oracle JDK更多地面向值得稳定的企业用户。 它基于OpenJDK的其中一个版本,然后得到长期支持(LTS)。 Oracle JDK每三年发布一次计划。

在这里输入图像描述

资料来源:https://www.oracle.com/java/java9-screencasts.html?bcid=5582439790001&playerType=single-social&size=events

链接地址: http://www.djcxy.com/p/72353.html

上一篇: Differences between Oracle JDK and OpenJDK

下一篇: What is the difference between JVM, JDK, JRE & OpenJDK?