当前位置: 首页 > 面试题库 >

Oracle JDK 和 OpenJDK 的区别?

顾池暝
2023-03-14
本文向大家介绍Oracle JDK 和 OpenJDK 的区别?相关面试题,主要包含被问及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大概每6个月发一次主要版本,而OpenJDK版本大概每三个月发布一次。但这不是固定的,我觉得了解这个没啥用处。详情参见:https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se-release-cadence。

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

3. Oracle JDK 比 OpenJDK 更稳定。OpenJDK和Oracle JDK的代码几乎相同,但Oracle JDK有更多的类和一些错误修复。因此,如果您想开发企业/商业软件,我建议您选择Oracle JDK,因为它经过了彻底的测试和稳定。某些情况下,有些人提到在使用OpenJDK 可能会遇到了许多应用程序崩溃的问题,但是,只需切换到Oracle JDK就可以解决问题;

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

5. Oracle JDK不会为即将发布的版本提供长期支持,用户每次都必须通过更新到最新版本获得支持来获取最新版本;

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

 类似资料:
  • 问题内容: Oracle和OpenJDK之间有什么重要区别吗? 例如,垃圾回收和其他JVM参数是否相同? 两者之间的GC工作方式是否有所不同? 问题答案: OpenJDK和Oracle JDK都仅由Oracle当前创建和维护。 OpenJDK和Oracle JDK是通过TCK(Java技术认证套件)的同一Java规范的实现。 JDK的大多数供应商都是通过OpenJDK编写的,它们做了一些调整[主要

  • 问题内容: 我在理解Java JRE的一些基本知识时遇到了麻烦。 我需要在嵌入式系统中运行Java代码,为此,我需要在Linux内核中安装最小的Java运行时环境,即执行Java二进制文件所需的最小程序包。我认为仅使用JVM是不可能的(JRE包是必需的,在这里我错了吗?) 事情是,看着Debian仓库的时候我也不太明白软件包之间的差异,和。Java程序将仅与前者一起运行吗?还是需要其中三个? 这是

  • 当我安装netbeans时,它给了我选择java环境的选项,我有3个选项,oracle java和这两个(java-1.7.0-openjdk-i386和java-7-openjdk-i386)。这两个有什么区别呢?操作系统如果Ubuntu。

  • 问题内容: JVM,JDK,JRE和OpenJDK有什么区别? 我在用Java编程时遇到了这些短语,它们之间有什么区别? 问题答案: 虚拟机 在Java虚拟机(JVM)是运行Java字节代码的虚拟机。JVM不理解Java源代码;这就是为什么需要编译文件以获取包含JVM可以理解的字节码的文件的原因。它也是允许Java成为“便携式语言”的实体(编写一次,可以在任何地方运行)。实际上,对于不同的系统(W

  • JVM、JDK、JRE和OpenJDK之间的区别是什么? 我在Java编程时遇到了这些短语,它们之间有什么不同?

  • 问题内容: 我正在尝试确定是否可以为Java应用程序的用户界面切换到JavaFX。我的大多数用户将使用Oracle JRE,该产品已集成了JavaFX。但是,有些人正在使用OpenJDK(在Linux上)。这个(旧的)问题表明OpenJDK与JavaFX的处理非常差。根据这个问题,替代的OpenJFX将仅完全集成到版本9中的OpenJDK中。所以我的问题有两个: OpenJDK中的JavaFX支持