- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
OpenJDK VM和Oracle Hotspot VM还是两个不同的JVM吗?
我似乎找不到任何关于 OpenJDK VM 的官方文档。甚至在 OpenJDK 主页上也有一个开发 HotSpot VM 的 HotSpot Group。
The HotSpot group is comprised of developers involved in the design, implementation, and maintanence of the HotSpot virtual machine
但是,如果我在我的 Windows 机器上检查 java -version,它会打印出来
Java HotSpot(TM) 64-Bit Server VM
但是在我的 Ubuntu VPS 上
OpenJDK 64-Bit Server VM
如果它们是两个不同的虚拟机,它们之间的主要区别是什么?它们有不同的运行时标志集吗?
最佳答案
accepted Answer by apangin现在已经过时了。
对于 Java 11 等最新版本,Oracle JDK 产品实际上与 OpenJDK 项目相同。 OpenJDK 现在包括 Oracle 以前的产品:Java Flight Recorder , Java Mission Control , Application Class-Data Sharing , 和 ZGC .
引用Oracle.com blog :
From Java 11 forward, therefore, Oracle JDK builds and OpenJDK builds will be essentially identical.
甲骨文在过去几年里发生了翻天覆地的变化。
Oracle 宣布他们打算将其品牌 Oracle JDK 与 OpenJDK 融合到功能对等。两者都基于 OpenJDK 代码库。
为此,甲骨文出售的以前的商业工具,Flight Recorder和 Mission Control现在开源并捐赠给 OpenJDK 项目。参见 this和 this在 OpenJDK 网站上。
Oracle 和 OpenJDK 联盟的其他成员贡献了更多源代码,使 OpenJDK 代码库完全开源,并且不受除 GNU GPL+ 链接异常(exception)之外的许可证的阻碍。
Oracle 有 changed their licensing条款。 Oracle JDK 品牌产品不再免费用于生产。或者,您可以从六家以上的供应商中的任何一家免费获得 OpenJDK 分发版,其中包括来自 Oracle 的供应商。有关所有详细信息,请参阅由 Java 社区的支柱撰写的重要白皮书,Java Is Still Free .
我画了这个流程图来指导您选择 JDK 源。
Oracle 保留为紧急修复或安全漏洞修补其自有品牌产品的权利。但该公司表示,他们也打算与其他 OpenJDK 成员一起做出贡献并进行协调。 Oracle 继续拥有 Java 商标并引领 Java 平台的 future 。对于现有的Long-Term Support (LTS)版本 8 和 11,Oracle 已放弃 stewardship to RedHat (IBM)。
这里的问题是:
Are OpenJDK VM and Oracle Hotspot VM still two different JVMs?
如上所述,这两种产品在功能对等方面趋同。关于HotSpot技术,请继续阅读。
如上所述,HotSpot 是 Oracle JDK 和 OpenJDK 中的一个组件。今天的 HotSpot 还结合了来自 JRockit 的部分. Oracle 合并了两个 Java 引擎的精华,从 Sun Microsystems 获得它们和 BEA Systems .
Adoptium Eclipse 基金会的项目(以前称为 AdoptOpenJDK)也使用 Eclipse OpenJ9 提供了 OpenJDK 构建。 (基于 J9,由 IBM 捐赠)作为 HotSpot 的替代品。从 Adoptium 网站下载时,您从菜单中选择 HotSpot 或 OpenJ9。
目前,测试似乎表明 OpenJ9 的启动速度显着加快,同时使用的内存也少得多,但 HotSpot 在持续使用的情况下可能运行得更快。但这仍是 OpenJ9 的早期阶段,因此请自行研究最新的发展。
关于java - OpenJDK 与 Java HotspotVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44335605/
OpenJDK VM和Oracle Hotspot VM还是两个不同的JVM吗? 我似乎找不到任何关于 OpenJDK VM 的官方文档。甚至在 OpenJDK 主页上也有一个开发 HotSpot V
我是一名优秀的程序员,十分优秀!