VM Options Explorer - Differences between HotSpot VM Versions

Differences between JDK6 and JDK7

Removed in JDK7Added in JDK7
AlignEntryCode
AllowInvokeGeneric
AlwaysInflate
AnonymousClasses
CICloneLoopTestLimit
CIFireOOMAtDelay
CMSOldPLABReactivityCeiling
CanonicalizeExperimental
CompilationRepeat
EnableMethodHandles
EventLogLength
ExitAfterGCNum
FullProfileOnReInterpret
G1DefaultMaxNewGenPercent
G1DefaultMinNewGenPercent
G1MarkRegionStackSize
G1MaxMixedGCNum
G1OldCSetRegionLiveThresholdPercent
G1OldReclaimableThresholdPercent
G1PrintParCleanupStats
GCOverheadReporting
GCOverheadReportingPeriodMS
HPILibPath
InitialCompileFast
InitialCompileReallyFast
InlineAtomicLong
LinkWellKnownClasses
LogMultipleMutexLocking
MaxHeapFreeRatio
MethodHandlePushLimit
MinHeapFreeRatio
OptimizeMethodHandles
PostSpinYield
PreBlockSpin
PreSpinYield
PreserveMarkStackSize
ReadSpinIterations
StressMethodHandleWalk
StressTieredRuntime
Tier1CountInvocations
Tier1FreqInlineSize
Tier1Inline
Tier1LoopOptsCount
Tier1MaxInlineSize
TraceCompileTriggered
TraceOSRBreakpoint
TraceRedundantCompiles
TraceRegionTasksQueuing
TraceTriggers
UpdateHotSpotCompilerFileOnError
UseFastExceptionHandling
UsePrefetchQueue
UseSpinning
ValueStackPinStackAll
AlignVector
AlwaysIncrementalInline
ArrayAllocatorMallocLimit
AttachListenerTimeout
AutoShutdownNMT
CMSEdenChunksRecordAlways
CMSParallelInitialMarkEnabled
CMSPrintEdenSurvivorChunks
CheckEndorsedAndExtDirs
EnableTracing
EscapeAnalysisTimeout
ExitEscapeAnalysisOnTimeout
G1EvacuationFailureALot
G1EvacuationFailureALotCount
G1EvacuationFailureALotDuringConcMark
G1EvacuationFailureALotDuringInitialMark
G1EvacuationFailureALotDuringMixedGC
G1EvacuationFailureALotDuringYoungGC
G1EvacuationFailureALotInterval
G1HeapWastePercent
G1LogLevel
G1MaxNewSizePercent
G1MixedGCCountTarget
G1MixedGCLiveThresholdPercent
G1NewSizePercent
G1TraceHeapRegionRememberedSet
G1TraceStringSymbolTableScrubbing
G1VerifyHeapRegionCodeRoots
G1VerifyRSetsDuringFullGC
IncrementalInline
InsertEndGroupPPC64
LiveNodeCountInliningCutoff
LoadExecStackDllInVMThread
LoadPollAddressFromThread
LoopMaxUnroll
MaxForceInlineLevel
MaxVectorSize
MaxVirtMemFraction
NativeMemoryTracking
ObjectCountCutOffPercent
OptimizeExpensiveOps
OptimizePollingPageLocation
PowerArchitecturePPC64
PrintGCCause
PrintIdealNodeCount
PrintNMTStatistics
ReoptimizeCallSequences
ShowHiddenFrames
StressCompiledExceptionHandlers
TraceLateExpand
TraceNewVectors
TraceProfileInterpreter
TraceTraps
TrapBasedICMissChecks
TrapBasedNotEntrantChecks
TrapBasedNullChecks
TrapBasedRangeChecks
Use16MPages
UseAES
UseAESIntrinsics
UseCGroupMemoryLimitForHeap
UseCountLeadingZerosInstructionsPPC64
UseCountedLoopSafepoints
UseExtendedLoadAndReserveInstructionsPPC64
UseFastStosb
UseLoadInstructionsForStackBangingPPC64
UseLockedTracing
UsePower6SchedulerPPC64
UseRotateAndMaskInstructionsPPC64
UseSIGTRAP
UseStaticBranchPredictionForUncommonPathsPPC64
UseStaticBranchPredictionInCompareAndSwapPPC64
UseTransparentHugePages
VerboseInternalVMTests
VerifyAdapterCalls
VerifyConnectionGraph
VerifyDuringStartup
VerifyIdealNodeCount
VerifySilently
WhiteBoxAPI
ZapMemory

Differences between JDK7 and JDK8

Removed in JDK8Added in JDK8
AdaptivePermSizeWeight
Atomics
AutoShutdownNMT
CMSInitiatingPermOccupancyFraction
CMSPermGenPrecleaningEnabled
CMSRevisitStackSize
CMSTriggerPermRatio
CodeCacheFlushingMinimumFreeSpace
G1DeferredRSUpdate
G1ExtraRegionSurvRate
G1InitYoungSurvRatio
G1PrintOopAppls
G1RSBarrierNullFilter
G1RSCountHisto
G1UseParallelRSetScanning
G1UseParallelRSetUpdating
InitializeJavaLangExceptionsErrors
InitializeJavaLangString
InitializeJavaLangSystem
JavaObjectsInPerm
MaxPermHeapExpansion
MaxPermSize
MinCodeCacheFlushingInterval
MinPermHeapExpansion
PermGenPadding
PermMarkSweepDeadRatio
PermSize
PrintCompactFieldsSavings
PrintRevisitStats
RecordMarkSweepCompaction
SharedDummyBlockSize
SharedOptimizeColdStart
SharedOptimizeColdStartPolicy
SharedSkipVerify
StressNonEntrant
TraceLateExpand
UseISM
UseMPSS
UsePPCLWSYNC
UsePermISM
UseSplitVerifier
UseStringCache
V8AtomicOperationUnderLockSpinCount
ValidateMarkSweep
VerifyOopMaps
AggressiveUnboxing
AssertRangeCheckElimination
AssumeMP
C1PatchInvokeDynamic
CICrashAt
CMSCheckInterval
ClassUnloadingWithConcurrentMark
CodeCacheMinimumUseSpace
CompressedClassSpaceSize
ContendedPaddingWidth
CrashOnOutOfMemoryError
DisablePrimordialThreadGuardPages
DumpLoadedClassList
DumpReplayDataOnError
EnableContended
ExitOnOutOfMemoryError
ExtraSharedClassListFile
FoldStableValues
G1EagerReclaimHumongousObjects
G1EagerReclaimHumongousObjectsWithStaleRefs
G1TraceEagerReclaimHumongousObjects
G1VerifyBitmaps
GCLockerRetryAllocationCount
GCWorkerDelayMillis
IgnoreEmptyClassPaths
IgnoreUnverifiableClassesDuringDump
IncreaseFirstTierCompileThresholdAt
InitialBootClassLoaderMetaspaceSize
InlineDataFile
MallocMaxTestWords
MaxJNILocalCapacity
MaxMetaspaceExpansion
MaxMetaspaceFreeRatio
MaxMetaspaceSize
MetadataAllocationFailALot
MetadataAllocationFailALotInterval
MetaspaceSize
MinMetaspaceExpansion
MinMetaspaceFreeRatio
NmethodSweepActivity
PerMethodSpecTrapLimit
PreserveFramePointer
PrintActiveCpus
PrintCodeCacheOnCompilation
PrintFieldLayout
PrintMethodFlushingStatistics
PrintPreciseRTMLockingStatistics
PrintSharedArchiveAndExit
PrintSharedDictionary
PrintStringDeduplicationStatistics
RTMAbortRatio
RTMAbortThreshold
RTMLockingCalculationDelay
RTMLockingThreshold
RTMRetryCount
RTMSpinLoopCount
RTMTotalCountIncrRate
RenumberLiveNodes
ReplayCompiles
ReplayDataFile
ReplayIgnoreInitErrors
ReplaySuppressInitializers
RestrictContended
SharedArchiveFile
SharedBaseAddress
SharedClassListFile
SharkOptimizationLevel
SharkVerifyFunction
SpecTrapLimitExtraEntries
SpecialEncodeISOArray
StressGCM
StressLCM
StressLoopInvariantCodeMotion
StressRangeCheckElimination
StressRewriter
StringDeduplicationAgeThreshold
StringDeduplicationRehashALot
StringDeduplicationResizeALot
SurvivorAlignmentInBytes
SymbolTableSize
TraceClassLoaderData
TraceClassPaths
TraceDefaultMethods
TraceMetadataChunkAllocation
TraceMetadataHumongousAllocation
TraceMetavirtualspaceAllocation
TracePostallocExpand
TracePredicateFailedTraps
TraceRangeCheckElimination
TypeProfileArgsLimit
TypeProfileLevel
TypeProfileParmsLimit
UseBMI1Instructions
UseBMI2Instructions
UseCLMUL
UseCRC32Intrinsics
UseCompressedClassPointers
UseCountTrailingZerosInstruction
UseImplicitStableValues
UseInlineDepthForSpeculativeTypes
UseLargePagesInMetaspace
UseLoopInvariantCodeMotion
UseMathExactIntrinsics
UseMontgomeryMultiplyIntrinsic
UseMontgomerySquareIntrinsic
UseMulAddIntrinsic
UseMultiplyToLenIntrinsic
UseRTMDeopt
UseRTMForStackLocks
UseRTMLocking
UseRTMXendForLockBusy
UseSHA
UseSHA1Intrinsics
UseSHA256Intrinsics
UseSHA512Intrinsics
UseSquareToLenIntrinsic
UseStringDeduplication
UseTypeSpeculation
VerifyGenericSignatures
VerifySharedSpaces
VerifyStringTableAtExit
VerifySubSet

Differences between JDK8 and JDK9

Removed in JDK9Added in JDK9
AdaptiveSizePausePolicy
AdjustConcurrency
AssertRepeat
C1PatchInvokeDynamic
CMSCompactWhenClearAllSoftRefs
CMSDictionaryChoice
CMSDumpAtPromotionFailure
CMSFullGCsBeforeCompaction
CMSIncrementalDutyCycle
CMSIncrementalDutyCycleMin
CMSIncrementalMode
CMSIncrementalOffset
CMSIncrementalPacing
CMSOverflowEarlyRestoration
CMSParPromoteBlocksToClaim
CMSPrintEdenSurvivorChunks
CMSTraceIncrementalMode
CMSTraceIncrementalPacing
CMSTraceSweeper
CMSTraceThreadState
CheckOopishValues
ClearInterpreterLocals
CodeCacheMinimumFreeSpace
CollectGen0First
CompileZapFirst
CompileZapLast
CountInterpCalls
CreateMinidumpOnCrash
DefaultMaxRAMFraction
DefaultThreadPriority
DisablePrimordialThreadGuardPages
EnableInvokeDynamic
FenceInstruction
G1ConcMarkForceOverflow
G1ConcRegionFreeingVerbose
G1FailOnFPError
G1LogLevel
G1MarkingVerboseLevel
G1PrintHeapRegions
G1PrintReachableAtInitialMark
G1PrintReachableBaseFile
G1PrintRegionLivenessInfo
G1RSLogCheckCardTable
G1RSScrubVerbose
G1RecordHRRSEvents
G1RecordHRRSOops
G1SATBPrintStubs
G1SummarizeConcMark
G1SummarizeRSetStats
G1TraceConcRefinement
G1TraceEagerReclaimHumongousObjects
G1TraceHeapRegionRememberedSet
G1TraceMarkStackOverflow
G1TraceStringSymbolTableScrubbing
G1UseConcMarkReferenceProcessing
G1VerifyDuringGCPrintReachable
G1YoungSurvRateNumRegionsSummary
G1YoungSurvRateVerbose
GCLogFileSize
GenerateCompilerNullChecks
HandleAllocationLimit
HeapDumpSegmentSize
JNIDetachReleasesMonitors
LazyBootClassLoader
LoopLimitCheck
MallocVerifyInterval
MallocVerifyStart
NmethodSweepCheckInterval
NmethodSweepFraction
NoYieldsInMicrolock
NumberOfGCLogFiles
PSAdjustTenuredGenForMinorPause
PSAdjustYoungGenForMajorPause
ParallelGCRetainPLAB
ParallelGCVerbose
ParallelOldGCSplitALot
ParallelOldGCSplitInterval
PreInflateSpin
PrintActiveCpus
PrintAdaptiveSizePolicy
PrintCMSInitiationStatistics
PrintCMSStatistics
PrintClassStatistics
PrintCompressedOopsMode
PrintDTraceDOF
PrintFLSCensus
PrintFLSStatistics
PrintGCApplicationConcurrentTime
PrintGCApplicationStoppedTime
PrintGCCause
PrintGCTaskTimeStamps
PrintJNIGCStalls
PrintJVMWarnings
PrintMethodStatistics
PrintOldPLAB
PrintOopAddress
PrintPLAB
PrintParallelOldGCPhaseTimes
PrintPromotionFailure
PrintReferenceGC
PrintStringDeduplicationStatistics
PrintTLAB
PrintTenuringDistribution
PrintVtables
RangeLimitCheck
ReadPrefetchInstr
ReflectionWrapResolutionErrors
RotateCMSCollectionTypes
ScavengeWithObjectsInToSpace
SegmentedHeapDumpThreshold
StarvationMonitorInterval
StressMethodComparator
ThreadSafetyMargin
TimeCompiler
TimeCompiler2
TotalHandleAllocationLimit
TraceAdaptiveGCBoundary
TraceBiasedLocking
TraceBlockOffsetTable
TraceCMSState
TraceCardTableModRefBS
TraceClassInitialization
TraceClassLoaderData
TraceClassLoadingPreorder
TraceClassPaths
TraceClassResolution
TraceClearedExceptions
TraceDefaultMethods
TraceDynamicGCThreads
TraceExceptions
TraceGCTaskThread
TraceGen0Time
TraceGen1Time
TraceHandleAllocation
TraceItables
TraceJNICalls
TraceJNIHandleAllocation
TraceJVMCalls
TraceJumps
TraceMarkSweep
TraceMetadataChunkAllocation
TraceMetadataHumongousAllocation
TraceMetavirtualspaceAllocation
TraceMonitorInflation
TraceMonitorMismatch
TracePageSizes
TraceParallelOldGCCompactionPhase
TraceParallelOldGCSummaryPhase
TraceParallelOldGCTasks
TraceProtectionDomainVerification
TraceRedefineClasses
TraceReferenceGC
TraceRuntimeCalls
TraceSafepoint
TraceSafepointCleanupTime
TraceStartupTime
TraceThreadEvents
TraceVMOperation
TraceWorkGang
TraceZapDeadLocals
TraceZapUnusedHeapArea
UnrollLimitCheck
Use16MPages
Use486InstrsOnly
UseAltSigs
UseAsyncConcMarkSweepGC
UseBoundThreads
UseCMSAdaptiveFreeLists
UseCMSCollectionPassing
UseCMSCompactAtFullCollection
UseCompilerSafepoints
UseGCLogFileRotation
UseMemSetInBOT
UseNewReflection
UseOldInlining
UseVMInterruptibleIO
UseVectoredExceptions
VerboseVerification
VerifyCodeCacheOften
VerifyGenericSignatures
VerifyReflectionBytecodes
VerifySilently
WorkAroundNPTLTimedWaitHang
ZapDeadCompiledLocals
ZapDeadCompiledLocalsFirst
ZapDeadCompiledLocalsLast
ZapDeadLocalsOld
AOTLibrary
AllowExtshm
AllowVectorizeOnDemand
AlwaysAtomicAccesses
AlwaysSafeConstructors
ArrayCopyLoadStoreMaxElem
AvoidUnalignedAccesses
BootstrapJVMCI
CITimeVerbose
CheckIntrinsics
CompactStrings
CompileThresholdScaling
CompilerDirectivesFile
CompilerDirectivesIgnoreCompileCommands
CompilerDirectivesLimit
CompilerDirectivesPrint
CreateCoredumpOnCrash
DSCR_DPFD_PPC64
DSCR_PPC64
DSCR_URG_PPC64
DisableBCCheck
DoReserveCopyInSuperWord
EnableDynamicAgentLoading
EnableJVMCI
ErrorLogTimeout
ExecutingUnitTests
ExpandLoadingBaseDecode
ExpandLoadingBaseDecode_NN
ExpandLoadingBaseEncode
ExpandLoadingBaseEncode_NN
G1AdaptiveIHOPNumInitialSamples
G1LastPLABAverageOccupancy
G1PretouchAuxiliaryMemory
G1UseAdaptiveIHOP
GuaranteedSafepointInterval
HeapSearchSteps
HotMethodDetectionLimit
IdealizeClearArrayNode
InitArrayShortSize
InjectGCWorkerCreationFailure
InlineNotify
JVMCICounterSize
JVMCICountersExcludeCompiler
JVMCIHostThreads
JVMCINMethodSizeLimit
JVMCIPrintProperties
JVMCIThreads
JVMCITraceLevel
JVMCIUseFastLocking
LogTouchedMethods
LoopPercentProfileLimit
MVCLEThreshold
MaxExpectedDataSegmentSize
MethodProfileWidth
MinPassesBeforeFlush
NearCpool
NonNMethodCodeHeapSize
NonProfiledCodeHeapSize
NotifySimulator
OptoRegScheduling
PostLoopMultiversioning
PreTouchParallelChunkSize
PreferLAoverADD
PrintAOT
PrintAOTStatistics
PrintBootstrap
PrintDeoptimizationDetails
PrintFlagsRanges
PrintGC
PrintGCDetails
PrintIdealGraph
PrintNMethodStatistics
PrintTouchedMethodsAtExit
ProfiledCodeHeapSize
RestrictReservedStack
SegmentedCodeCache
SharedSymbolTableBucketSize
ShrinkHeapInSteps
StackReservedPages
StartAggressiveSweepingAt
StressArrayCopyMacroNode
StressCodeAging
SuperWordLoopUnrollAnalysis
SuperWordReductions
TestCrashInErrorHandler
TestSafeFetchInErrorHandler
Tier3AOTBackEdgeThreshold
Tier3AOTCompileThreshold
Tier3AOTInvocationThreshold
Tier3AOTMinInvocationThreshold
TraceOldGenTime
TraceSuperWordLoopUnrollAnalysis
TraceUncollectedSpeculations
TraceYoungGenTime
Use64KPages
Use64KPagesThreshold
UseAESCTRIntrinsics
UseAOT
UseAOTStrictLoading
UseAdler32Intrinsics
UseBarriersForVolatile
UseByteReverseInstruction
UseCMoveUnconditionally
UseCRC32
UseCRC32CIntrinsics
UseCodeAging
UseCpuAllocPath
UseExplicitCommit
UseFMA
UseGHASHIntrinsics
UseJVMCICompiler
UseLSE
UseLibmIntrinsic
UseNeon
UseSIMDForMemoryOps
UseSemaphoreGCThreadsSynchronization
UseSimulatorCache
UseUnalignedAccesses
UseVectorizedMismatchIntrinsic
VerifyCodeCache
VerifyInterpreterStackTop
ZapEmptyStackFields
ZapHighNonSignificantBits

Differences between JDK9 and JDK10

Removed in JDK10Added in JDK10
AutoGCSelectPauseMillis
BackEdgeThreshold
ClearFPUAtPark
ConvertSleepToYield
ConvertYieldToSleep
ExplicitGCInvokesConcurrentAndUnloadsClasses
G1HRRSFlushLogBuffersOnVerify
G1MarkingOverheadPercent
LoadPollAddressFromThread
MinSleepInterval
PerfTraceDataCreation
PerfTraceMemOps
PredictedLoadedClassCount
PrintSharedSpaces
SafepointPollOffset
SharedMiscCodeSize
SharedMiscDataSize
SharedReadOnlySize
SharedReadWriteSize
SharkMaxInlineSize
SharkOptimizationLevel
SharkPerformanceWarnings
SharkPrintAsmOf
SharkPrintBitcodeOf
SharkPrintTypeflowOf
SharkTraceBytecodes
SharkTraceInstalls
SharkVerifyFunction
TraceOldGenTime
TraceOopMapGeneration
TraceYoungGenTime
UseAutoGCSelectPolicy
UseParNewGC
UseRelocIndex
UseV8InstrsOnly
ZapJNIHandleArea
ActiveProcessorCount
AggressiveHeap
AllocateHeapAt
CalculateClassFingerprint
DisablePrimordialThreadGuardPages
DynamicallyResizeSystemDictionaries
EnableThreadSMRExtraValidityChecks
EnableThreadSMRStatistics
HandshakeTimeout
InitialRAMPercentage
LoopStripMiningIter
LoopStripMiningIterShortLoop
MaxRAMPercentage
MinRAMPercentage
MonitorUsedDeflationThreshold
SharedArchiveConfigFile
SoftwarePrefetchHintDistance
SuperwordUseVSX
TestUnresponsiveErrorHandler
ThreadLocalHandshakes
UseAppCDS
UseContainerSupport
UseMPMUL
UseSubwordForMaxVector
UseVectorCmov
VerifyGCType

Differences between JDK10 and JDK11

Removed in JDK11Added in JDK11
AttachListenerTimeout
CheckAssertionStatusDirectives
CheckEndorsedAndExtDirs
DeferPollingPageLoopCount
DeferThrSuspendLoopCount
EnableTracing
FastTLABRefill
G1RSBarrierRegionFilter
G1ScrubRemSets
G1SecondaryFreeListAppendLength
G1StressConcRegionFreeing
G1StressConcRegionFreeingDelayMillis
InlineNotify
MustCallLoadClassInternal
NativeMonitorFlags
NativeMonitorSpinLimit
NativeMonitorTimeout
PrintMalloc
PrintMallocFree
SafepointSpinBeforeYield
ShowSafepointMsgs
TraceScavenge
UnsyncloadClass
UseAppCDS
UseCGroupMemoryLimitForHeap
UseLockedTracing
UseUTCFileTimestamp
EagerJVMCI
EpsilonElasticTLAB
EpsilonElasticTLABDecay
EpsilonMaxTLABSize
EpsilonMinHeapExpand
EpsilonPrintHeapSteps
EpsilonTLABDecayTime
EpsilonTLABElasticity
EpsilonUpdateCountersStep
FlightRecorder
FlightRecorderOptions
G1RebuildRemSetChunkSize
G1UseReferencePrecleaning
InjectCompilerCreationFailure
PreferContainerQuotaForCPUCount
PrintExtendedThreadInfo
ReduceNumberOfCompilerThreads
ReferencesPerThread
ShowRegistersOnAssert
StartFlightRecording
StressMethodHandleLinkerInlining
TraceCompilerThreads
UseBASE64Intrinsics
UseBootstrapCallInfo
UseDynamicNumberOfCompilerThreads
UseEpsilonGC
UseFastUnorderedTimeStamps
UseProfiledLoopPredicate
UseSIMDForArrayEquals
UseSimpleArrayEquals
UseSwitchProfiling
UseXMMForObjInit
UseZGC
VerifyMetaspace
ZAllocationSpikeTolerance
ZCollectionInterval
ZConcurrentJNIWeakGlobalHandles
ZConcurrentStringTable
ZConcurrentVMWeakHandles
ZFragmentationLimit
ZMarkStacksMax
ZOptimizeLoadBarriers
ZPath
ZProactive
ZStallOnOutOfMemory
ZStatisticsForceTrace
ZStatisticsInterval
ZSymbolTableUnloading
ZUnmapBadViews
ZVerifyForwarding
ZVerifyLoadBarriers
ZVerifyMarking
ZWeakRoots

Differences between JDK11 and JDK12

Removed in JDK12Added in JDK12
AggressiveOpts
AllowNonVirtualCalls
AssumeMP
CompilerThreadHintNoPreempt
EmitSync
ErrorReportServer
ExecuteInternalVMTests
IgnoreUnverifiableClassesDuringDump
MonitorInUseLists
PrintSafepointStatistics
PrintSafepointStatisticsCount
PrintSafepointStatisticsTimeout
SyncFlags
SyncKnobs
SyncVerbose
TransmitErrorReport
UnlinkSymbolsALot
VMThreadHintNoPreempt
VerboseInternalVMTests
VerifyInterpreterStackTop
ZConcurrentJNIWeakGlobalHandles
ZConcurrentStringTable
ZConcurrentVMWeakHandles
ZMarkStacksMax
ZSymbolTableUnloading
ZWeakRoots
ZapHighNonSignificantBits
ZMarkStackSpaceLimit