Java Oracle';s的商业热点JVM有没有超过OpenJDK?

Java Oracle';s的商业热点JVM有没有超过OpenJDK?,java,jvm,jvm-hotspot,Java,Jvm,Jvm Hotspot,如本问题所述: Oracle的商业热点JVM本质上是OpenJDK,再加上一些仅限商业客户端的功能 但是,这些额外的功能是否真的有助于提高单机和/或小型集群的性能,而这些集群仅限于消费者的现成硬件?或者它们只与具有特定组织需求的大公司和具有定制硬件的大型系统相关 我特别想问的是“Java Flight Recorder、应用程序类数据共享和协作内存管理”,这是链接问题中提到的主要商业功能。与此同时,Java Flight Recorder和应用程序类数据共享已经开源,并捐赠给该项目 甲骨文计划

如本问题所述:

Oracle的商业热点JVM本质上是OpenJDK,再加上一些仅限商业客户端的功能

但是,这些额外的功能是否真的有助于提高单机和/或小型集群的性能,而这些集群仅限于消费者的现成硬件?或者它们只与具有特定组织需求的大公司和具有定制硬件的大型系统相关


我特别想问的是“Java Flight Recorder、应用程序类数据共享和协作内存管理”,这是链接问题中提到的主要商业功能。

与此同时,Java Flight Recorder和应用程序类数据共享已经开源,并捐赠给该项目

甲骨文计划开放所有商业功能的源代码,如果没有人使用这些功能,就将其删除。Mark Reinhold在几周前JVM语言峰会的视频中谈到了这一点。他说:

为了创造一个公平竞争的环境,我们已经将所有[应用程序类数据共享、Java飞行记录器、Java任务控制、ZGC]开源,这些现在都是开源的。还有一些很小很小的商业特性,我们要么开源,要么从商业产品中删除,因为事实证明,实际上没有多少客户以任何方式使用它们

引述:

因此,从Java11开始,Oracle JDK构建和OpenJDK构建基本相同


因此,如果这些商业功能中的任何一项带来了性能优势,那么您现在也可以通过使用OpenJDK获得这种优势。

Java飞行记录器和任务控制只是监视JVM的工具,因此不会直接影响JVM的性能。它们可能会产生间接影响,因为您可以使用这些工具生成的信息更有效地调优JVM设置

协作内存管理旨在使JVM与运行在同一台机器上的其他应用程序更好地配合使用。如果操作系统开始在可用物理内存不足的情况下运行,JVM可能会降低其资源利用率,如缓存和堆空间,从而降低整个系统的负载。这可能会降低JVM性能

应用程序类数据共享旨在通过有效缓存JVM加载类时生成的类数据结构,提高使用给定应用程序启动JVM的速度。您为应用程序生成一个归档文件,然后JVM在启动时将其映射到内存中,从而消除了大量的JAR文件读取。这个映射文件还可以在多个JVM(运行相同的应用程序)之间共享,并减少每个JVM实例的占用空间

如前所述,所有这些特性现在都已贡献给OpenJDK项目。从JDK11(下个月发布)起,Oracle JDK和直接从OpenJDK源代码构建的JDK之间将没有功能上的差异

当然:)但它并没有真正回答这些功能是否能提高性能。重要提示:Oracle也有。他们的品牌Oracle JDK产品不再免费用于生产。但是,您仍然可以从超过六家供应商中的任何一家获得基于OpenJDK的发行版。请参阅重要白皮书:。