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

OpenJDK JVM是否与Oracle Java SE JVM相同?

姚智
2023-03-14
问题内容

我了解Oracle Java SE包含不属于OpenJDK的封闭源代码扩展和工具,但是Oracle Java SE JVM是否与OpenJDK
JVM相同,或者Oracle在发布为Java SE JVM之前是否对OpenJDK JVM进行了更改?

更新1:
我从JDK7更新项目中找到了一些信息:http :
//openjdk.java.net/projects/jdk7u/qanda.html

7 Update Project会从Oracle获得安全修复程序吗?

是。

与OpenJDK
6一样,安全修补程序首先要保持机密性,并应用于私有林,然后再将其推送到公共林中,以作为对生效的JDK发布系列进行的修补程序的一般同步发布的一部分。此外,他们将不会经过公共代码审查和推迟批准程序,并且在项目的问题跟踪器中其相应的问题将不会公开显示。


问题答案:

从版本7开始,OpenJDK是Java的参考实现。

OpenJDK 7是Oracle作为Oracle JDK发行的版本的起点。其他供应商(例如RedHat for
IcedTea)也可以使用OpenJDK作为其起点。

就OpenJDK和供应商VM之间的差异而言,可能有供应商想要应用的补丁程序,但整个OpenJDK社区尚未接受这些补丁。

当然,如果供应商VM要使用Java商标描述其产品,则必须能够证明它们符合TCK。

Oracle JDK也不是开源的。由于Java的双重许可安排,以及Oracle总体上拥有Java的事实,所以这是可能的。

您是否还有更具体的问题-提出的问题有点含糊。您对哪些方面感兴趣?



 类似资料:
  • 问题内容: 我正在上一门计算机科学课程,课程大纲说要下载Java 1.6。我找不到Java 1.6,所有内容都显示JDK6。当我用Java 1.6进行搜索时,发现此链接: http://java.sun.com/javase/downloads/index.jsp 这就是他所说的Java 1.6吗?我下载了JDK 6 update 17和netbeans 6.8。我会给教员发电子邮件并问他这个问题

  • 我有一个使用的项目。现在我想使用我通过CMake集成的预构建tensorflow C-API。但现在我得到了以下错误: libPROTOBUF FATAL谷歌/PROTOBUF/存根/common.cc:61]此程序需要3.9.0版的协议缓冲区运行库,但安装的版本是2.6.1。请更新您的库。如果您自己编译了程序,请确保您的头文件与您的链接时间库来自同一版本的协议缓冲区。(版本验证在“bazel-o

  • 数据类MyObj(Field1:String、Field2:Int、Field3:Int、Field4:String......Field10:Int) 我有一个 如果我这样做: 1)flatMap在那里是并行执行还是顺序执行?2)如果嵌套的flatMap是顺序的,有没有办法让它们像zip一样并行?

  • 问题内容: 我的想法是,人们使用Docker来确保本地环境与生产环境相同,并且我可以停止考虑他们的应用程序在物理上运行的位置,并且平衡机制应该暂时将应用程序分配在最佳位置。 我是100%基于Web的人,我将与我们的数据库一起迁移到云中,并且无法移动的内容将无缝地桥接在一起,因此企业内容和云将成为一个子网。 所以我想知道,也许Service Fabric已经完成了与Docker相同的工作,并且它提供

  • 问题内容: 这两个查询似乎返回相同的结果。那是巧合还是真的一样? 1。 2。 有点解释:我试图从充满交易的表中获得不同的项目清单。对于每个项目,我正在寻找ItemNumber(标识字段)和最新的ItemDescription。 问题答案: 您的示例#2让我挠了一下头-我对自己说:“您不能发表任何专栏,那意味着什么?” -直到我意识到发生了什么。 当你有 你是 不是 ,尽管外表,实际上需要的不同值

  • 我想知道的是,从一个线程访问一个被其他线程变异(随机)的内存位置的角度来看,锁xchg是否会有类似于mfence的行为。它能保证我得到最新的价值吗?之后的内存读/写指令数? 我困惑的原因是: 8.2.2“不能使用I/O指令、锁定指令或序列化指令对读取或写入进行重新排序。” -英特尔64位开发人员手册第3卷 这是否适用于多个线程? mfence状态: 对在MFENCE指令之前发出的所有“从内存加载”