Oracle JDK 和 OpenJDK

笪健
2023-12-01

Oracle JDK 和 OpenJDK 的对比

可能在看这个问题之前很多人和我一样并没有接触和使用过 OpenJDK 。那么

Oracle 和 OpenJDK 之间是否存在重大差异?下面通过我通过我收集到一些资

料对你解答这个被很多人忽视的问题。

对于 Java 7,没什么关键的地方。OpenJDK 项目主要基于 Sun 捐赠的 HotSpot

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

关于 JVM,JDK,JRE 和 OpenJDK 之间的区别,Oracle 博客帖子在 2012 年有

一个更详细的答案:

问:OpenJDK 存储库中的源代码与用于构建 Oracle JDK 的代码之间有什么区

别?

答:非常接近 - 我们的 Oracle JDK 版本构建过程基于 OpenJDK 7 构建,只添

加了几个部分,例如部署代码,其中包括 Oracle 的 Java 插件和 Java WebStart

的实现,以及一些封闭的源代码派对组件,如图形光栅化器,一些开源的第三

方组件,如 Rhino,以及一些零碎的东西,如附加文档或第三方字体。展望未

来,我们的目的是开源 Oracle JDK 的所有部分,除了我们考虑商业功能的部

分。

总结:

1. Oracle JDK 版本将每三年发布一次,而 OpenJDK 版本每三个月发布一

次;2. OpenJDK 是一个参考模型并且是完全开源的,而 Oracle JDK 是

OpenJDK 的一个实现,并不是完全开源的;

3. Oracle JDK 比 OpenJDK 更稳定。OpenJDK 和 Oracle JDK 的代码几乎

相同,但 Oracle JDK 有更多的类和一些错误修复。因此,如果您想开发

企业/商业软件,我建议您选择 Oracle JDK,因为它经过了彻底的测试和

稳定。某些情况下,有些人提到在使用 OpenJDK 可能会遇到了许多应

用程序崩溃的问题,但是,只需切换到 Oracle JDK 就可以解决问题;

4. 顶级公司正在使用 Oracle JDK,例如 Android Studio,Minecraft 和

IntelliJ IDEA 开发工具,其中 Open JDK 不太受欢迎;

5. 在响应性和 JVM 性能方面,Oracle JDK 与 OpenJDK 相比提供了更好的

性能;

6. Oracle JDK 不会为即将发布的版本提供长期支持,用户每次都必须通过

更新到最新版本获得支持来获取最新版本;

7. Oracle JDK 根据二进制代码许可协议获得许可,而 OpenJDK 根据 GPL

v2 许可获得许可。

 类似资料: