VM Options Explorer - Differences between HotSpot VM Versions

Hey Reader! If these notes float your boat you'll find more great JVM info in this book I co-wrote! Optimizing Java: Practical techniques for improving JVM application performance

Differences between JDK6 and JDK7


Removed in JDK7

NameAvailabilityDeprecatedObsoletedExpired
AlignEntryCodedevelop
AllowInvokeGenericexperimental
AlwaysInflateproduct
AnonymousClassesproduct
CICloneLoopTestLimitdevelop
CIFireOOMAtDelaydevelop
CMSOldPLABReactivityCeilingproduct
CanonicalizeExperimentaldevelop
CompilationRepeatproduct
EnableMethodHandlesexperimental
EventLogLengthproduct
ExitAfterGCNumdevelop
FullProfileOnReInterpretdiagnostic
G1DefaultMaxNewGenPercentdevelop
G1DefaultMinNewGenPercentdevelop
G1MarkRegionStackSizeproduct
G1MaxMixedGCNumdevelop
G1OldCSetRegionLiveThresholdPercentdevelop
G1OldReclaimableThresholdPercentdevelop
G1PrintParCleanupStatsdevelop
GCOverheadReportingproduct
GCOverheadReportingPeriodMSproduct
HPILibPathproduct
InitialCompileFastdiagnostic
InitialCompileReallyFastdiagnostic
InlineAtomicLongdevelop
LinkWellKnownClassesdiagnostic
LogMultipleMutexLockingnotproduct
MethodHandlePushLimitdiagnostic
OptimizeMethodHandlesdiagnostic
PostSpinYieldproduct
PreBlockSpinproduct
PreSpinYieldproduct
PreserveMarkStackSizeproduct
ReadSpinIterationsproduct
StressMethodHandleWalkdevelop
StressTieredRuntimeproduct
Tier1CountInvocationsdevelop
Tier1FreqInlineSizeproduct
Tier1Inlineproduct
Tier1LoopOptsCountproduct
Tier1MaxInlineSizeproduct
TraceCompileTriggereddiagnostic
TraceOSRBreakpointdiagnostic
TraceRedundantCompilesdiagnostic
TraceRegionTasksQueuingdevelop
TraceTriggersdiagnostic
UpdateHotSpotCompilerFileOnErrordevelop
UseFastExceptionHandlingdevelop
UsePrefetchQueuedevelop
UseSpinningproduct
ValueStackPinStackAlldevelop

Added in JDK7

NameAvailability
AlignVectorproduct
AlwaysIncrementalInlinedevelop
ArrayAllocatorMallocLimitexperimental
AttachListenerTimeoutdefine_pd_global
AutoShutdownNMTdiagnostic
CMSEdenChunksRecordAlwaysproduct
CMSParallelInitialMarkEnabledproduct
CMSPrintEdenSurvivorChunksproduct
CheckEndorsedAndExtDirsproduct
EnableTracingproduct
EscapeAnalysisTimeoutproduct
ExitEscapeAnalysisOnTimeoutdevelop
G1EvacuationFailureALotnotproduct
G1EvacuationFailureALotCountdevelop
G1EvacuationFailureALotDuringConcMarkdevelop
G1EvacuationFailureALotDuringInitialMarkdevelop
G1EvacuationFailureALotDuringMixedGCdevelop
G1EvacuationFailureALotDuringYoungGCdevelop
G1EvacuationFailureALotIntervaldevelop
G1HeapWastePercentproduct
G1LogLevelexperimental
G1MaxNewSizePercentexperimental
G1MixedGCCountTargetproduct
G1MixedGCLiveThresholdPercentexperimental
G1NewSizePercentexperimental
G1TraceHeapRegionRememberedSetdevelop
G1TraceStringSymbolTableScrubbingexperimental
G1VerifyHeapRegionCodeRootsdiagnostic
G1VerifyRSetsDuringFullGCdiagnostic
IncrementalInlineproduct
InsertEndGroupPPC64product
LiveNodeCountInliningCutoffproduct
LoadExecStackDllInVMThreadproduct
LoadPollAddressFromThreadproduct
LoopMaxUnrollproduct
MaxForceInlineLeveldevelop
MaxVectorSizeproduct
MaxVirtMemFractiondevelop
NativeMemoryTrackingproduct
ObjectCountCutOffPercentexperimental
OptimizeExpensiveOpsdiagnostic
OptimizePollingPageLocationdefine_pd_global
PowerArchitecturePPC64product
PrintGCCauseproduct
PrintIdealNodeCountnotproduct
PrintNMTStatisticsdiagnostic
ReoptimizeCallSequencesproduct
ShowHiddenFramesdiagnostic
StressCompiledExceptionHandlersdevelop
TraceLateExpanddevelop
TraceNewVectorsnotproduct
TraceProfileInterpreterdevelop
TraceTrapsproduct
TrapBasedICMissChecksproduct
TrapBasedNotEntrantChecksproduct
TrapBasedNullChecksproduct
TrapBasedRangeChecksproduct
Use16MPagesdefine_pd_global
UseAESproduct
UseAESIntrinsicsproduct
UseCGroupMemoryLimitForHeapexperimental
UseCountLeadingZerosInstructionsPPC64product
UseCountedLoopSafepointsproduct
UseExtendedLoadAndReserveInstructionsPPC64product
UseFastStosbproduct
UseLoadInstructionsForStackBangingPPC64product
UseLockedTracingproduct
UsePower6SchedulerPPC64product
UseRotateAndMaskInstructionsPPC64product
UseSIGTRAPproduct
UseStaticBranchPredictionForUncommonPathsPPC64product
UseStaticBranchPredictionInCompareAndSwapPPC64product
UseTransparentHugePagesproduct
VerboseInternalVMTestsnotproduct
VerifyAdapterCallsdiagnostic
VerifyConnectionGraphnotproduct
VerifyDuringStartupdiagnostic
VerifyIdealNodeCountnotproduct
VerifySilentlydiagnostic
WhiteBoxAPIdiagnostic
ZapMemoryproduct

Differences between JDK7 and JDK8


Removed in JDK8

NameAvailabilityDeprecatedObsoletedExpired
AdaptivePermSizeWeightproduct
Atomicsproduct
AutoShutdownNMTdiagnostic
CMSInitiatingPermOccupancyFractionproduct
CMSPermGenPrecleaningEnabledproduct
CMSRevisitStackSizeproduct
CMSTriggerPermRatioproduct
CodeCacheFlushingMinimumFreeSpaceproduct
G1DeferredRSUpdatedevelop
G1ExtraRegionSurvRatedevelop
G1InitYoungSurvRatiodevelop
G1PrintOopApplsdevelop
G1RSBarrierNullFilterdevelop
G1RSCountHistodevelop
G1UseParallelRSetScanningexperimental
G1UseParallelRSetUpdatingexperimental
InitializeJavaLangExceptionsErrorsdevelop
InitializeJavaLangStringdevelop
InitializeJavaLangSystemdevelop
JavaObjectsInPermdiagnostic
MaxPermHeapExpansionproduct
MaxPermSizeproduct_pdJDK8
MinCodeCacheFlushingIntervalproduct
MinPermHeapExpansionproduct
PermGenPaddingproduct
PermMarkSweepDeadRatioproduct
PermSizeproduct_pdJDK8
PrintCompactFieldsSavingsnotproduct
PrintRevisitStatsproduct
RecordMarkSweepCompactionnotproduct
SharedDummyBlockSizeproduct
SharedOptimizeColdStartdiagnostic
SharedOptimizeColdStartPolicydevelop
SharedSkipVerifydiagnostic
StressNonEntrantdevelop
TraceLateExpanddevelop
UseISMproduct
UseMPSSproduct
UsePPCLWSYNCproduct
UsePermISMproduct
UseSplitVerifierproduct
UseStringCacheproduct
V8AtomicOperationUnderLockSpinCountdevelop
ValidateMarkSweepnotproduct
VerifyOopMapsnotproduct

Added in JDK8

NameAvailability
AggressiveUnboxingexperimental
AssertRangeCheckEliminationdevelop
AssumeMPproduct
C1PatchInvokeDynamicdiagnostic
CICrashAtnotproduct
CMSCheckIntervaldevelop
CMSTriggerIntervalmanageable
ClassUnloadingWithConcurrentMarkproduct
CodeCacheMinimumUseSpacedefine_pd_global
CompressedClassSpaceSizeproduct
ContendedPaddingWidthproduct
CrashOnOutOfMemoryErrorproduct
DisablePrimordialThreadGuardPagesexperimental
DumpLoadedClassListproduct
DumpReplayDataOnErrorproduct
EnableContendedproduct
ExitOnOutOfMemoryErrorproduct
ExtraSharedClassListFileproduct
FoldStableValuesdiagnostic
G1EagerReclaimHumongousObjectsexperimental
G1EagerReclaimHumongousObjectsWithStaleRefsexperimental
G1TraceEagerReclaimHumongousObjectsexperimental
G1VerifyBitmapsdevelop
GCLockerRetryAllocationCountdiagnostic
GCWorkerDelayMillisdevelop
IgnoreEmptyClassPathsproduct
IgnoreUnverifiableClassesDuringDumpdiagnostic
IncreaseFirstTierCompileThresholdAtproduct
InitialBootClassLoaderMetaspaceSizeproduct
InlineDataFileproduct
MallocMaxTestWordsdiagnostic
MaxJNILocalCapacityproduct
MaxMetaspaceExpansionproduct
MaxMetaspaceFreeRatioproduct
MaxMetaspaceSizeproduct
MetadataAllocationFailALotdevelop
MetadataAllocationFailALotIntervaldevelop
MetaspaceSizeproduct_pd
MinMetaspaceExpansionproduct
MinMetaspaceFreeRatioproduct
NmethodSweepActivityproduct
PerMethodSpecTrapLimitexperimental
PreserveFramePointerproduct_pd
PrintActiveCpusdiagnostic
PrintCodeCacheOnCompilationproduct
PrintFieldLayoutnotproduct
PrintGCIDmanageable
PrintMethodFlushingStatisticsdiagnostic
PrintPreciseRTMLockingStatisticsdiagnostic
PrintSharedArchiveAndExitproduct
PrintSharedDictionaryproduct
PrintStringDeduplicationStatisticsproduct
RTMAbortRatioexperimental
RTMAbortThresholdexperimental
RTMLockingCalculationDelayexperimental
RTMLockingThresholdexperimental
RTMRetryCountproduct
RTMSpinLoopCountexperimental
RTMTotalCountIncrRateexperimental
RenumberLiveNodesdevelop
ReplayCompilesdevelop
ReplayDataFileproduct
ReplayIgnoreInitErrorsdevelop
ReplaySuppressInitializersdevelop
RestrictContendedproduct
SharedArchiveFilediagnostic
SharedBaseAddressproduct
SharedClassListFileproduct
SharkOptimizationLevelproduct
SharkVerifyFunctiondevelop
SpecTrapLimitExtraEntriesexperimental
SpecialEncodeISOArrayproduct
StressGCMdevelop
StressLCMdevelop
StressLoopInvariantCodeMotiondevelop
StressRangeCheckEliminationdevelop
StressRewriterdevelop
StringDeduplicationAgeThresholdproduct
StringDeduplicationRehashALotdiagnostic
StringDeduplicationResizeALotdiagnostic
SurvivorAlignmentInBytesexperimental
SymbolTableSizeexperimental
TraceClassLoaderDatadevelop
TraceClassPathsproduct
TraceDefaultMethodsdevelop
TraceMetadataChunkAllocationdevelop
TraceMetadataHumongousAllocationproduct
TraceMetavirtualspaceAllocationdevelop
TracePostallocExpanddevelop
TracePredicateFailedTrapsdevelop
TraceRangeCheckEliminationdevelop
TypeProfileArgsLimitproduct
TypeProfileLevelproduct_pd
TypeProfileParmsLimitproduct
UseBMI1Instructionsproduct
UseBMI2Instructionsproduct
UseCLMULproduct
UseCRC32Intrinsicsproduct
UseCompressedClassPointerslp64_product
UseCountTrailingZerosInstructionproduct
UseImplicitStableValuesdiagnostic
UseInlineDepthForSpeculativeTypesdiagnostic
UseLargePagesInMetaspaceproduct
UseLoopInvariantCodeMotionproduct
UseMathExactIntrinsicsproduct
UseMontgomeryMultiplyIntrinsicproduct
UseMontgomerySquareIntrinsicproduct
UseMulAddIntrinsicproduct
UseMultiplyToLenIntrinsicproduct
UseRTMDeoptproduct
UseRTMForStackLocksexperimental
UseRTMLockingproduct
UseRTMXendForLockBusyexperimental
UseSHAproduct
UseSHA1Intrinsicsproduct
UseSHA256Intrinsicsproduct
UseSHA512Intrinsicsproduct
UseSquareToLenIntrinsicproduct
UseStringDeduplicationproduct
UseTypeSpeculationproduct
VerifyGenericSignaturesdevelop
VerifySharedSpacesproduct
VerifyStringTableAtExitdiagnostic
VerifySubSetdiagnostic

Differences between JDK8 and JDK9


Removed in JDK9

NameAvailabilityDeprecatedObsoletedExpired
AdaptiveSizePausePolicyproduct
AdjustConcurrencyproduct
AssertRepeatnotproduct
C1PatchInvokeDynamicdiagnostic
CMSCompactWhenClearAllSoftRefsproduct
CMSDictionaryChoicedevelop
CMSDumpAtPromotionFailureproduct
CMSFullGCsBeforeCompactionproduct
CMSIncrementalDutyCycleproduct
CMSIncrementalDutyCycleMinproduct
CMSIncrementalModeproduct
CMSIncrementalOffsetproduct
CMSIncrementalPacingproduct
CMSOverflowEarlyRestorationdevelop
CMSParPromoteBlocksToClaimproduct
CMSPrintEdenSurvivorChunksproduct
CMSTraceIncrementalModedevelop
CMSTraceIncrementalPacingdevelop
CMSTraceSweeperdevelop
CMSTraceThreadStatedevelop
CheckOopishValuesnotproduct
ClearInterpreterLocalsdevelop
CodeCacheMinimumFreeSpaceproduct
CollectGen0Firstproduct
CompileZapFirstnotproduct
CompileZapLastnotproduct
CountInterpCallsdefine_pd_global
CreateMinidumpOnCrashproductJDK9
DefaultMaxRAMFractionproductJDK8
DefaultThreadPriorityproduct
DisablePrimordialThreadGuardPagesexperimental
EnableInvokeDynamicdiagnostic
FenceInstructionproduct
G1ConcMarkForceOverflowdevelop
G1ConcRegionFreeingVerbosedevelop
G1FailOnFPErrordevelop
G1LogLevelexperimental
G1MarkingVerboseLeveldevelop
G1PrintHeapRegionsdiagnostic
G1PrintReachableAtInitialMarkdevelop
G1PrintReachableBaseFiledevelop
G1PrintRegionLivenessInfodiagnostic
G1RSLogCheckCardTabledevelop
G1RSScrubVerbosedevelop
G1RecordHRRSEventsdevelop
G1RecordHRRSOopsdevelop
G1SATBPrintStubsdevelop
G1SummarizeConcMarkdiagnostic
G1SummarizeRSetStatsdiagnostic
G1TraceConcRefinementdiagnostic
G1TraceEagerReclaimHumongousObjectsexperimental
G1TraceHeapRegionRememberedSetdevelop
G1TraceMarkStackOverflowdevelop
G1TraceStringSymbolTableScrubbingexperimental
G1UseConcMarkReferenceProcessingexperimental
G1VerifyDuringGCPrintReachabledevelop
G1YoungSurvRateNumRegionsSummarydevelop
G1YoungSurvRateVerbosedevelop
GCLogFileSizeproduct
GenerateCompilerNullChecksdevelop
HandleAllocationLimitnotproduct
HeapDumpSegmentSizedevelop
JNIDetachReleasesMonitorsproduct
LazyBootClassLoaderproduct
LoopLimitCheckdiagnostic
MallocVerifyIntervaldiagnostic
MallocVerifyStartdiagnostic
NmethodSweepCheckIntervalproduct
NmethodSweepFractionproduct
NoYieldsInMicrolockdevelop
NumberOfGCLogFilesproduct
PSAdjustTenuredGenForMinorPausedevelop
PSAdjustYoungGenForMajorPausedevelop
ParallelGCRetainPLABdiagnostic
ParallelGCVerboseproduct
ParallelOldGCSplitALotdevelop
ParallelOldGCSplitIntervaldevelop
PreInflateSpinproduct_pd
PrintActiveCpusdiagnostic
PrintAdaptiveSizePolicyproduct
PrintCMSInitiationStatisticsproduct
PrintCMSStatisticsproduct
PrintClassHistogramAfterFullGCmanageable
PrintClassHistogramBeforeFullGCmanageable
PrintClassStatisticsnotproduct
PrintCompressedOopsModediagnostic
PrintDTraceDOFdiagnostic
PrintFLSCensusproduct
PrintFLSStatisticsproduct
PrintGCApplicationConcurrentTimeproduct
PrintGCApplicationStoppedTimeproduct
PrintGCCauseproduct
PrintGCDateStampsmanageable
PrintGCIDmanageable
PrintGCTaskTimeStampsproduct
PrintGCTimeStampsmanageable
PrintJNIGCStallsproduct
PrintJVMWarningsdevelop
PrintMethodStatisticsnotproduct
PrintOldPLABproduct
PrintOopAddressproduct
PrintPLABproduct
PrintParallelOldGCPhaseTimesproduct
PrintPromotionFailureproduct
PrintReferenceGCproduct
PrintStringDeduplicationStatisticsproduct
PrintTLABproduct
PrintTenuringDistributionproduct
PrintVtablesdevelop
RangeLimitCheckdiagnostic
ReadPrefetchInstrproduct
ReflectionWrapResolutionErrorsproduct
RotateCMSCollectionTypesdevelop
ScavengeWithObjectsInToSpacedevelop
SegmentedHeapDumpThresholddevelop
StarvationMonitorIntervalproduct
StressMethodComparatordevelop
ThreadSafetyMarginproduct
TimeCompilernotproduct
TimeCompiler2notproduct
TotalHandleAllocationLimitdevelop
TraceAdaptiveGCBoundarydevelop
TraceBiasedLockingproduct
TraceBlockOffsetTabledevelop
TraceCMSStatedevelop
TraceCardTableModRefBSdevelop
TraceClassInitializationdevelop
TraceClassLoaderDatadevelop
TraceClassLoadingPreorderproduct
TraceClassPathsproduct
TraceClassResolutionproduct
TraceClearedExceptionsdevelop
TraceDefaultMethodsdevelop
TraceDynamicGCThreadsproduct
TraceExceptionsdevelop
TraceGCTaskThreaddiagnostic
TraceGen0Timeproduct
TraceGen1Timeproduct
TraceHandleAllocationdevelop
TraceItablesdevelop
TraceJNICallsdevelop
TraceJNIHandleAllocationdevelop
TraceJVMCallsnotproduct
TraceJumpsdevelop
TraceMarkSweepnotproduct
TraceMetadataChunkAllocationdevelop
TraceMetadataHumongousAllocationproduct
TraceMetavirtualspaceAllocationdevelop
TraceMonitorInflationproduct
TraceMonitorMismatchdevelop
TracePageSizesdevelop
TraceParallelOldGCCompactionPhasedevelop
TraceParallelOldGCSummaryPhasedevelop
TraceParallelOldGCTasksproduct
TraceProtectionDomainVerificationdevelop
TraceRedefineClassesproduct
TraceReferenceGCdevelop
TraceRuntimeCallsnotproduct
TraceSafepointdevelop
TraceSafepointCleanupTimeproduct
TraceStartupTimedevelop
TraceThreadEventsdevelop
TraceVMOperationdevelop
TraceWorkGangdevelop
TraceZapDeadLocalsnotproduct
TraceZapUnusedHeapAreadevelop
UnrollLimitCheckdiagnostic
Use16MPagesdefine_pd_global
Use486InstrsOnlyproduct
UseAltSigsproduct
UseAsyncConcMarkSweepGCdevelop
UseBoundThreadsproduct
UseCMSAdaptiveFreeListsdevelop
UseCMSCollectionPassingproduct
UseCMSCompactAtFullCollectionproduct
UseCompilerSafepointsproduct
UseGCLogFileRotationproduct
UseMemSetInBOTexperimental
UseNewReflectiondevelop
UseOldInliningproduct
UseVMInterruptibleIOproduct
UseVectoredExceptionsdefine_pd_global
VerboseVerificationdiagnostic
VerifyCodeCacheOftennotproduct
VerifyGenericSignaturesdevelop
VerifyReflectionBytecodesdevelop
VerifySilentlydiagnostic
WorkAroundNPTLTimedWaitHangproduct
ZapDeadCompiledLocalsdevelop
ZapDeadCompiledLocalsFirstnotproduct
ZapDeadCompiledLocalsLastnotproduct
ZapDeadLocalsOldnotproduct

Added in JDK9

NameAvailability
AOTLibraryproduct
AllowExtshmproduct
AllowVectorizeOnDemandproduct
AlwaysAtomicAccessesexperimental
AlwaysSafeConstructorsexperimental
ArrayCopyLoadStoreMaxElemproduct
AvoidUnalignedAccessesproduct
BootstrapJVMCIexperimental
CITimeVerbosedevelop
CheckIntrinsicsdiagnostic
CompactStringsdefine_pd_global
CompileThresholdScalingproduct
CompilerDirectivesFilediagnostic
CompilerDirectivesIgnoreCompileCommandsdiagnostic
CompilerDirectivesLimitdiagnostic
CompilerDirectivesPrintdiagnostic
CreateCoredumpOnCrashproduct
DSCR_DPFD_PPC64product
DSCR_PPC64product
DSCR_URG_PPC64product
DisableBCCheckproduct
DoReserveCopyInSuperWordproduct
EnableDynamicAgentLoadingproduct
EnableJVMCIexperimental
ErrorLogTimeoutproduct
ExecutingUnitTestsproduct
ExpandLoadingBaseDecodeproduct
ExpandLoadingBaseDecode_NNproduct
ExpandLoadingBaseEncodeproduct
ExpandLoadingBaseEncode_NNproduct
G1AdaptiveIHOPNumInitialSamplesexperimental
G1LastPLABAverageOccupancyexperimental
G1PretouchAuxiliaryMemoryexperimental
G1UseAdaptiveIHOPproduct
GuaranteedSafepointIntervaldiagnostic
HeapSearchStepsproduct
HotMethodDetectionLimitdiagnostic
IdealizeClearArrayNodedefine_pd_global
InitArrayShortSizedefine_pd_global
InjectGCWorkerCreationFailurediagnostic
InlineNotifydiagnostic
JVMCICounterSizeexperimental
JVMCICountersExcludeCompilerexperimental
JVMCIHostThreadsexperimental
JVMCINMethodSizeLimitexperimental
JVMCIPrintPropertiesexperimental
JVMCIThreadsexperimental
JVMCITraceLevelexperimental
JVMCIUseFastLockingdevelop
LogTouchedMethodsdiagnostic
LoopPercentProfileLimitdefine_pd_global
MVCLEThresholdproduct
MaxExpectedDataSegmentSizeproduct
MethodProfileWidthexperimental
MinPassesBeforeFlushdiagnostic
NearCpoolproduct
NonNMethodCodeHeapSizedefine_pd_global
NonProfiledCodeHeapSizedefine_pd_global
NotifySimulatorproduct
OptoRegSchedulingdefine_pd_global
PostLoopMultiversioningexperimental
PreTouchParallelChunkSizeproduct
PreferLAoverADDproduct
PrintAOTproduct
PrintAOTStatisticsnotproduct
PrintBootstrapexperimental
PrintDeoptimizationDetailsdevelop
PrintFlagsRangesproduct
PrintIdealGraphnotproduct
PrintNMethodStatisticsnotproduct
PrintTouchedMethodsAtExitdiagnostic
ProfiledCodeHeapSizedefine_pd_global
RestrictReservedStackproduct
SegmentedCodeCacheproduct
SharedSymbolTableBucketSizeproduct
ShrinkHeapInStepsproduct
StackReservedPagesdefine_pd_global
StartAggressiveSweepingAtproduct
StressArrayCopyMacroNodedevelop
StressCodeAgingdiagnostic
SuperWordLoopUnrollAnalysisdefine_pd_global
SuperWordReductionsproduct
TestCrashInErrorHandlernotproduct
TestSafeFetchInErrorHandlernotproduct
Tier3AOTBackEdgeThresholdproduct
Tier3AOTCompileThresholdproduct
Tier3AOTInvocationThresholdproduct
Tier3AOTMinInvocationThresholdproduct
TraceOldGenTimeproduct
TraceSuperWordLoopUnrollAnalysisnotproduct
TraceUncollectedSpeculationsdevelop
TraceYoungGenTimeproduct
Use64KPagesproduct
Use64KPagesThresholddevelop
UseAESCTRIntrinsicsdiagnostic
UseAOTproduct
UseAOTStrictLoadingdiagnostic
UseAdler32Intrinsicsdiagnostic
UseBarriersForVolatileproduct
UseByteReverseInstructionproduct
UseCMoveUnconditionallyproduct
UseCRC32product
UseCRC32CIntrinsicsdiagnostic
UseCodeAgingproduct
UseCpuAllocPathdiagnostic
UseExplicitCommitproduct
UseFMAproduct
UseGHASHIntrinsicsdiagnostic
UseJVMCICompilerexperimental
UseLSEproduct
UseLibmIntrinsicdiagnostic
UseNeonproduct
UseSIMDForMemoryOpsproduct
UseSemaphoreGCThreadsSynchronizationdiagnostic
UseSimulatorCacheproduct
UseUnalignedAccessesdiagnostic
UseVectorizedMismatchIntrinsicdiagnostic
VerifyCodeCachenotproduct
VerifyInterpreterStackTopdevelop
ZapEmptyStackFieldsdevelop
ZapHighNonSignificantBitsdevelop

Differences between JDK9 and JDK10


Removed in JDK10

NameAvailabilityDeprecatedObsoletedExpired
AutoGCSelectPauseMillisproduct
BackEdgeThresholddefine_pd_global
ClearFPUAtParkexperimental
ConvertSleepToYieldproductJDK9JDK10JDK11
ConvertYieldToSleepproductJDK9JDK10JDK11
ExplicitGCInvokesConcurrentAndUnloadsClassesproduct
G1HRRSFlushLogBuffersOnVerifydevelop
G1MarkingOverheadPercentdevelop
LoadPollAddressFromThreadproduct
MinSleepIntervaldevelopJDK9JDK10JDK11
PerfTraceDataCreationdevelop
PerfTraceMemOpsdevelop
PredictedLoadedClassCountexperimental
PrintSharedSpacesproduct
SafepointPollOffsetdefine_pd_global
SharedMiscCodeSizeproductJDK10
SharedMiscDataSizeproductJDK10
SharedReadOnlySizeproductJDK10
SharedReadWriteSizeproductJDK10
SharkMaxInlineSizeproduct
SharkOptimizationLevelproduct
SharkPerformanceWarningsdiagnostic
SharkPrintAsmOfdiagnostic
SharkPrintBitcodeOfdiagnostic
SharkPrintTypeflowOfdevelop
SharkTraceBytecodesdevelop
SharkTraceInstallsdiagnostic
SharkVerifyFunctiondevelop
TraceOldGenTimeproduct
TraceOopMapGenerationdevelop
TraceYoungGenTimeproduct
UseAutoGCSelectPolicyproduct
UseParNewGCproduct
UseRelocIndexdevelop
UseV8InstrsOnlydevelop
ZapJNIHandleAreadevelop

Added in JDK10

NameAvailability
ActiveProcessorCountproduct
AggressiveHeapproduct
AllocateHeapAtproduct
CalculateClassFingerprintproduct
DisablePrimordialThreadGuardPagesexperimental
DynamicallyResizeSystemDictionariesdiagnostic
EnableThreadSMRExtraValidityChecksdiagnostic
EnableThreadSMRStatisticsdiagnostic
HandshakeTimeoutdiagnostic
InitialRAMPercentageproduct
LoopStripMiningIterproduct
LoopStripMiningIterShortLoopproduct
MaxRAMPercentageproduct
MinRAMPercentageproduct
MonitorUsedDeflationThresholdexperimental
SharedArchiveConfigFileproduct
SoftwarePrefetchHintDistanceproduct
SuperwordUseVSXproduct
TestUnresponsiveErrorHandlernotproduct
ThreadLocalHandshakesdefine_pd_global
UseAppCDSproduct
UseContainerSupportproduct
UseMPMULproduct
UseSubwordForMaxVectorproduct
UseVectorCmovproduct
VerifyGCTypediagnostic

Differences between JDK10 and JDK11


Removed in JDK11

NameAvailabilityDeprecatedObsoletedExpired
AttachListenerTimeoutproduct
CheckAssertionStatusDirectivesnotproductJDK11JDK12
CheckEndorsedAndExtDirsproductJDK10JDK11JDK12
DeferPollingPageLoopCountproductJDK10JDK11JDK12
DeferThrSuspendLoopCountproductJDK10JDK11JDK12
EnableTracingproductJDK11JDK12
FastTLABRefillproductJDK10JDK11JDK12
G1RSBarrierRegionFilterdevelop
G1ScrubRemSetsdevelop
G1SecondaryFreeListAppendLengthdevelop
G1StressConcRegionFreeingdevelop
G1StressConcRegionFreeingDelayMillisdevelop
InlineNotifydiagnosticJDK11JDK12
MustCallLoadClassInternalproductJDK10JDK11JDK12
NativeMonitorFlagsexperimentalJDK11JDK12
NativeMonitorSpinLimitexperimentalJDK11JDK12
NativeMonitorTimeoutexperimentalJDK11JDK12
PrintMallocdevelopJDK11JDK12
PrintMallocFreenotproductJDK11JDK12
SafepointSpinBeforeYieldproductJDK10JDK11JDK12
ShowSafepointMsgsdevelopJDK11JDK12
TraceScavengenotproductJDK11JDK12
UnsyncloadClassdiagnosticJDK10JDK11JDK12
UseAppCDSproductJDK11JDK12
UseCGroupMemoryLimitForHeapexperimentalJDK10JDK11
UseLockedTracingproductJDK11JDK12
UseUTCFileTimestampproductJDK11JDK12

Added in JDK11

NameAvailability
EagerJVMCIexperimental
EpsilonElasticTLABexperimental
EpsilonElasticTLABDecayexperimental
EpsilonMaxTLABSizeexperimental
EpsilonMinHeapExpandexperimental
EpsilonPrintHeapStepsexperimental
EpsilonTLABDecayTimeexperimental
EpsilonTLABElasticityexperimental
EpsilonUpdateCountersStepexperimental
FlightRecorderproduct
FlightRecorderOptionsproduct
G1RebuildRemSetChunkSizeexperimental
G1UseReferencePrecleaningexperimental
InjectCompilerCreationFailuredevelop
PreferContainerQuotaForCPUCountproduct
PrintExtendedThreadInfoproduct
ReduceNumberOfCompilerThreadsdiagnostic
ReferencesPerThreadexperimental
ShowRegistersOnAssertdiagnostic
StartFlightRecordingproduct
StressMethodHandleLinkerInliningdevelop
TraceCompilerThreadsdiagnostic
UseBASE64Intrinsicsproduct
UseBootstrapCallInfodiagnostic
UseDynamicNumberOfCompilerThreadsproduct
UseEpsilonGCexperimental
UseFastUnorderedTimeStampsexperimental
UseProfiledLoopPredicateproduct
UseSIMDForArrayEqualsproduct
UseSimpleArrayEqualsproduct
UseSwitchProfilingexperimental
UseXMMForObjInitproduct
UseZGCexperimental
VerifyMetaspacedevelop
ZAllocationSpikeToleranceproduct
ZCollectionIntervalproduct
ZConcurrentJNIWeakGlobalHandlesdiagnostic
ZConcurrentStringTablediagnostic
ZConcurrentVMWeakHandlesdiagnostic
ZFragmentationLimitproduct
ZMarkStacksMaxproduct
ZOptimizeLoadBarriersdiagnostic
ZPathproduct
ZProactivediagnostic
ZStallOnOutOfMemoryproduct
ZStatisticsForceTracediagnostic
ZStatisticsIntervalproduct
ZSymbolTableUnloadingdiagnostic
ZUnmapBadViewsdiagnostic
ZVerifyForwardingdiagnostic
ZVerifyLoadBarriersdevelop
ZVerifyMarkingdiagnostic
ZWeakRootsdiagnostic

Differences between JDK11 and JDK12


Removed in JDK12

NameAvailabilityDeprecatedObsoletedExpired
AggressiveOptsproductJDK11JDK12JDK13
AllowNonVirtualCallsproductJDK11JDK12JDK13
AssumeMPproductJDK10JDK12JDK13
CompileTheWorlddevelop
CompileTheWorldPreloadClassesdevelop
CompileTheWorldSafepointIntervalnotproduct
CompileTheWorldStartAtnotproduct
CompileTheWorldStopAtnotproduct
CompilerThreadHintNoPreemptproductJDK11JDK12JDK13
DieOnSafepointTimeoutdevelop
EmitSyncexperimentalJDK12JDK13
ErrorReportServerproductJDK12JDK13
ExecuteInternalVMTestsnotproduct
G1HRRSUseSparseTabledevelop
IgnoreUnverifiableClassesDuringDumpdiagnosticJDK10JDK12JDK13
MonitorInUseListsproductJDK10JDK12JDK13
PrintSafepointStatisticsproductJDK11JDK12JDK13
PrintSafepointStatisticsCountproductJDK11JDK12JDK13
PrintSafepointStatisticsTimeoutproductJDK11JDK12JDK13
SyncFlagsexperimentalJDK12JDK13
SyncKnobsexperimentalJDK12JDK13
SyncVerboseexperimentalJDK12JDK13
TransmitErrorReportproductJDK12JDK13
UnlinkSymbolsALotproductJDK11JDK12JDK13
UseMembardefine_pd_globalJDK10JDK12
VMThreadHintNoPreemptproductJDK11JDK12JDK13
VerboseInternalVMTestsnotproduct
VerifyInterpreterStackTopdevelop
ZConcurrentJNIWeakGlobalHandlesdiagnostic
ZConcurrentStringTablediagnostic
ZConcurrentVMWeakHandlesdiagnostic
ZMarkStacksMaxproduct
ZSymbolTableUnloadingdiagnostic
ZWeakRootsdiagnostic
ZapHighNonSignificantBitsdevelop

Added in JDK12

NameAvailability
AbortVMOnCompilationFailurediagnostic
AbortVMOnSafepointTimeoutdiagnostic
AbortVMOnVMOperationTimeoutdiagnostic
AbortVMOnVMOperationTimeoutDelaydiagnostic
AllocateOldGenAtexperimental
AllowArchivingWithJavaAgentdiagnostic
DumpPrivateMappingsInCorediagnostic
ExtensiveErrorReportsproduct
G1PeriodicGCIntervalmanageable
G1PeriodicGCInvokesConcurrentproduct
G1PeriodicGCSystemLoadThresholdmanageable
G1YoungExpansionBufferPercentexperimental
PrintCodeHeapAnalyticsdiagnostic
ShenandoahAcmpBarrierdiagnostic
ShenandoahAllocFailureALotdiagnostic
ShenandoahAllocSpikeFactorexperimental
ShenandoahAllocationStallThresholddiagnostic
ShenandoahAllocationThresholdexperimental
ShenandoahAllocationTracediagnostic
ShenandoahAllowMixedAllocsdiagnostic
ShenandoahAlwaysClearSoftRefsexperimental
ShenandoahAlwaysPreTouchdiagnostic
ShenandoahCASBarrierdiagnostic
ShenandoahCloneBarrierdiagnostic
ShenandoahCodeRootsStyleexperimental
ShenandoahCommonGCStateLoadsexperimental
ShenandoahConcurrentScanCodeRootsexperimental
ShenandoahControlIntervalAdjustPeriodexperimental
ShenandoahControlIntervalMaxexperimental
ShenandoahControlIntervalMinexperimental
ShenandoahCriticalFreeThresholdexperimental
ShenandoahDecreaseRegisterPressurediagnostic
ShenandoahDegeneratedGCdiagnostic
ShenandoahDontIncreaseWBFreqexperimental
ShenandoahElasticTLABdiagnostic
ShenandoahEvacAssistexperimental
ShenandoahEvacReserveexperimental
ShenandoahEvacReserveOverflowexperimental
ShenandoahEvacWasteexperimental
ShenandoahFreeThresholdexperimental
ShenandoahFullGCThresholdexperimental
ShenandoahGCHeuristicsexperimental
ShenandoahGarbageThresholdexperimental
ShenandoahGuaranteedGCIntervalexperimental
ShenandoahHeapRegionSizeexperimental
ShenandoahHumongousMovesexperimental
ShenandoahHumongousThresholdexperimental
ShenandoahImmediateThresholdexperimental
ShenandoahImplicitGCInvokesConcurrentexperimental
ShenandoahInitFreeThresholdexperimental
ShenandoahKeepAliveBarrierdiagnostic
ShenandoahLearningStepsexperimental
ShenandoahLoopOptsAfterExpansionexperimental
ShenandoahMarkLoopStrideexperimental
ShenandoahMarkScanPrefetchexperimental
ShenandoahMaxRegionSizeexperimental
ShenandoahMergeUpdateRefsMaxGapexperimental
ShenandoahMergeUpdateRefsMinGapexperimental
ShenandoahMinFreeThresholdexperimental
ShenandoahMinRegionSizeexperimental
ShenandoahOOMDuringEvacALotdiagnostic
ShenandoahOptimizeInstanceFinalsexperimental
ShenandoahOptimizeStableFinalsexperimental
ShenandoahOptimizeStaticFinalsexperimental
ShenandoahPacingexperimental
ShenandoahPacingCycleSlackexperimental
ShenandoahPacingIdleSlackexperimental
ShenandoahPacingMaxDelayexperimental
ShenandoahPacingSurchargeexperimental
ShenandoahParallelRegionStrideexperimental
ShenandoahParallelSafepointThreadsexperimental
ShenandoahPrecleanexperimental
ShenandoahReadBarrierdiagnostic
ShenandoahRefProcFrequencyexperimental
ShenandoahRegionSamplingexperimental
ShenandoahRegionSamplingRateexperimental
ShenandoahSATBBarrierdiagnostic
ShenandoahSATBBufferFlushIntervalexperimental
ShenandoahSATBBufferSizeexperimental
ShenandoahStoreCheckdiagnostic
ShenandoahStoreValEnqueueBarrierdiagnostic
ShenandoahStoreValReadBarrierdiagnostic
ShenandoahSuspendibleWorkersexperimental
ShenandoahTargetNumRegionsexperimental
ShenandoahTerminationTracediagnostic
ShenandoahUncommitexperimental
ShenandoahUncommitDelayexperimental
ShenandoahUnloadClassesFrequencyexperimental
ShenandoahUpdateRefsEarlyexperimental
ShenandoahVerifydiagnostic
ShenandoahVerifyLeveldiagnostic
ShenandoahVerifyObjectEqualsdevelop
ShenandoahVerifyOptoBarriersdevelop
ShenandoahWriteBarrierdiagnostic
UseCharacterCompareIntrinsicsdiagnostic
UseCountTrailingZerosInstructionsPPC64product
UseOWSTTaskTerminatordiagnostic
UseShenandoahGCexperimental
ZMarkStackSpaceLimitproduct

Differences between JDK12 and JDK13


Removed in JDK13

NameAvailabilityDeprecatedObsoletedExpired
AdaptiveSizePolicyGCTimeLimitThresholddevelop
CIFireOOMAtdevelop
DelayCompilationDuringStartupdevelop
FastSuperclassLimitdevelop
FillDelaySlotsdevelop
IgnoreLibthreadGPFaultdevelop
NeedsDeoptSuspenddefine_pd_globalJDK13JDK14
ProfileIntervalsproductJDK13JDK14
ProfileIntervalsTicksproductJDK13JDK14
ProfileVMproductJDK13JDK14
ProfilerCheckIntervalsnotproductJDK13JDK14
ProfilerNumberOfCompiledMethodsdiagnosticJDK13JDK14
ProfilerNumberOfInterpretedMethodsdiagnosticJDK13JDK14
ProfilerNumberOfRuntimeStubNodesdiagnosticJDK13JDK14
ProfilerNumberOfStubMethodsdiagnosticJDK13JDK14
ProfilerPCTickThresholddevelop
ProfilerPrintByteCodeStatisticsproductJDK13JDK14
ProfilerRecordPCproductJDK13JDK14
ShenandoahAcmpBarrierdiagnostic
ShenandoahDecreaseRegisterPressurediagnostic
ShenandoahDontIncreaseWBFreqexperimental
ShenandoahReadBarrierdiagnostic
ShenandoahStoreValReadBarrierdiagnostic
ShenandoahWriteBarrierdiagnostic
TimeCompilationPolicydevelop
TimeLivenessAnalysisdevelop
TraceCompilationPolicydevelop
TraceUncollectedSpeculationsdevelop
UseFakeTimersdevelop
UseImplicitStableValuesdiagnosticJDK13JDK14
VerifyMetaspacedevelop
ZStallOnOutOfMemoryproduct
ZUnmapBadViewsdiagnostic

Added in JDK13

NameAvailability
AllowRedefinitionToAddDeleteMethodsproduct
ArchiveClassesAtExitproduct
DumpSharedMappingsInCorediagnostic
DynamicDumpSharedSpacesproduct
ErrorFileToStderrproduct
ErrorFileToStdoutproduct
GCOverheadLimitThresholddevelop
HandshakeALotdiagnostic
JVMCILibDumpJNIConfigexperimental
JVMCILibPathexperimental
ShenandoahCriticalControlThreadPriorityexperimental
ShenandoahLoadRefBarrierdiagnostic
UseJVMCINativeLibraryexperimental
VerifyMetaspaceIntervaldevelop
ZUncommitexperimental
ZUncommitDelayexperimental
ZVerifyViewsdiagnostic

What do 'Deprecated', 'Obsoleted', and 'Expired' mean?

Definitions abridged from the OpenJDK source code file src/hotspot/share/runtime/arguments.cpp

Using the example of -XX:+AggressiveOpts which was Deprecated in JDK11, Obsoleted in JDK12, Expired in JDK13.

Deprecated

An option that is supported, but a warning is printed to let the user know that support may be removed in the future.
./jdk11/build/linux-x86_64-normal-server-release/jdk/bin/java -XX:+AggressiveOpts
OpenJDK 64-Bit Server VM warning: Option AggressiveOpts was deprecated in version 11.0 and will likely be removed in a future release.
    

Obsoleted

An option that has been removed, but is still accepted on the command line. A warning is printed to let the user know that option might not be accepted in the future.
./jdk12/build/linux-x86_64-server-release/jdk/bin/java -XX:+AggressiveOpts
OpenJDK 64-Bit Server VM warning: Ignoring option AggressiveOpts; support was removed in 12.0
    

Expired

A deprecated or obsolete option that has an "accept_until" version less than or equal to the current JDK version. It will just print a warning when used in the JDK version in which it expired.
./jdk13/build/linux-x86_64-server-release/jdk/bin/java -XX:+AggressiveOpts
OpenJDK 64-Bit Server VM warning: Ignoring option AggressiveOpts; support was removed in 12.0
    
Once you go past the JDK version in which the option was expired the VM will fail to start when the option is passed:
Using the example of -XX:+DeferPollingPageLoopCount which was Deprecated in JDK10, Obsoleted in JDK11, Expired in JDK12.
./jdk13/build/linux-x86_64-server-release/jdk/bin/java -XX:+DeferPollingPageLoopCount
Unrecognized VM option 'DeferPollingPageLoopCount'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.