OpenJDK vs Java HotspotVM
问题描述:
OpenJDK VM和Oracle Hotspot VM仍然是两个不同的JVM吗?OpenJDK vs Java HotspotVM
我似乎无法找到任何有关OpenJDK VM的官方文档。即使在OpenJDK主页中也有一个开发HotSpot VM的HotSpot Group。
热点组是由参与设计,实施开发和HotSpot虚拟机的保养的
但是如果我检查我的Windows机器上的Java的版本它打印出
的HotSpot的Java(TM)64位服务器VM
但在我的Ubuntu VPS
OpenJDK的64位服务器VM
如果这是两个不同的虚拟机是什么它们之间的主要区别是什么?他们有不同的运行时标志集?
答
Oracle HotSpot JVM基于OpenJDK HotSpot项目。所以,他们大多是相同的虚拟机,除了Oracle JVM有一些额外的商业功能,主要是,Java Flight Recorder,Application Class Data Sharing和合作内存管理。
两个VM的运行时标志几乎相同;看到使用的完整列表
-XX:+UnlockDiagnosticVMOptions -XX:+UnlockCommercialFeatures -XX:+PrintFlagsFinal
从JDK 8u131的,唯一不同的是在下面的标志(在OpenJDK的VM缺席):[?JVM和热点之间的不同]
bool EnableResourceManagementTLABCache = true {product}
bool EnableSharedLookupCache = true {product}
bool FlightRecorder = false {commercial}
ccstr FlightRecorderOptions = {product}
bool LogCommercialFeatures = false {product}
ccstr MemoryRestriction = none {commercial}
bool ResourceManagement = false {commercial}
intx ResourceManagementSampleInterval = -1 {commercial}
ccstr StartFlightRecording = {commercial}
bool TraceSharedLookupCache = false {product}
bool UnlockCommercialFeatures := true {commercial}
bool UseAppCDS = false {commercial}
的可能的复制( https://*.com/questions/16568253/difference-between-jvm-and-hotspot) – Dmitriy
这个问题在2014年得到了回答。 最新的答案是从2015年开始,它指向所有JVM实现的*列表。在wikipedia中,它表示OpenJDK(JDK)包含HotSpot虚拟机。但我正在寻找有些官方文件或文章或除*之外的任何内容。 – ataurenis
Openjdk是Java的开源基础。 Oracle Java被openjdk更名为更多功能。 –