Critical Java JVM options and parameters

Java 21, the next long-term support (LTS) release of the JDK, arrives in September of 2021 To commemorate, let’s look at 21 of the most important JVM options and parameters you can configure in your Java environment

Java JVM Options List

Here’s are the 21 most important Java JVM options developers can use to configure the JDK at runtime:

  1. -Xms will sets the initial heap size for the JVM
  2. -Xmx will sets the maximum heap size for the JVM
  3. -Xss will sets the size of the thread stack for each thread’s internal use
  4. -XX:+UseCompressedOops: enables the use of compressed object pointers to reduce memory usage
  5. -XX:+UseThreadPriorities will instruct the JVM to use native thread priorities
  6. -XX:PermSize will sets the initial size of the garbage collector’s Permanent Generation space
  7. -XX:MaxPermSize will set the maximum size of the garbage collector’s permanent generation space
  8. -XX:NewSize: sets the initial size of the Young Generation space
  9. -XX:MaxNewSize: sets the maximum size of the Young Generation space
  10. -XX:SurvivorRatio: sets the ratio of Eden space to Survivor space
  11. -XX:MaxTenuringThreshold: sets the maximum age for objects in the Survivor space
  12. -XX:+UseParNewGC instructs the JVM to use the new parallel generation garbage collector
  13. -XX:+UseSerialGC instructs the JVM to use the serial garbage collector
  14. -XX:+UseG1GC instructs the JVM to use the Garbage First (G1) garbage collector
  15. -XX:+UseZGC instructs the JVM to use the ZGC garbage collector
  16. -XX:+HeapDumpOnOutOfMemoryError tells the JVM to create a heap dump file when an OutOfMemoryError occurs
  17. -XX:HeapDumpPath provides a custom path for the JVM to write the contents of the heap during a heapdump
  18. -Djava.library.path allws you to specifiy paths to native libraries needed at runtime
  19. -Duser.timezone allows you to set a custom timezone for the JVM
  20. -XX:+PrintGCDetails instructs the JVM to print out detailed garbage collection logs to help you with GC optimization
  21. -XX:+PrintFlagsFinal -version will print out all of the currently configured flags and options set on your JVM

How to use Java JVM options

All of these JVM options can be used simply by appending them as text after the java runtime command.

For example, the following command will run an app called Go with six different parameterize to optimize for memory allocation and garbage collection:

java Go -XX:MaxPermSize=128m  -XX:MaxNewSize=256m -Xms768m -Xmx768m -XX:SurvivorRatio=128 -XX:MaxTenuringThreshold=0

Java JVM options can be used to manage memory and optimize GC performance.

Most commonly used JVM parameters

Of all the JVM options listed above, the most commonly used are Xms and Xmx, which set the minimum and maximum heap size respectively.

The following example sets the minimum heap size to 768 megs and the maximum to 2 gigs.

-Xms768m  -Xmx2048

GC selection JVM options

One of the benefits of Java is that the environment performs garbage collection for the developer, which makes applications more robust and less likely to suffer memory leaks.

There are a number of garbage collectors out there with various pause behaviors and stop-the-world downtimes.

When the runtime is started, you can only pick one with one of the following Java JVM options:

-XX:+UseSerialGC   -XX:+UseParallelGC   -XX:+USeParNewGC   -XX:+UseG1GC  -XX:+UseZGC

Garbage collection tuning options

The JVM implements a generational garbage collection algorithm that actively monitors new objects while it rarely checks on older ones. The manner in which the JVM manages the eden space, the tenured space and even the PermGen space can be configured through JVM options such as:

-XX:MaxPermSize  -XX:PermSize  -XX:NewSize  -XX:MaxNewSize  -XX:SurvivorRatio  -XX:MaxTenuringThreshold

JVM print options for inspection

The JVM also provides a number of print methods that simply allow you to view the status of the Java runtime. Helpful JVM print options include:

-XX:+PrintGCDetails  -XX:+PrintGCDateStamps  -XX:+PrintHeapAtGC  -XX:+PrintCommandLineFlags  -XX:+PrintFlagsFinal   

The PrintFlagsFinal is an interesting JVM option, as it will display how all of the flag settings for you JVM, which is over 500 lines of output.

This article on Java JVM options is complete, so don’t feel the need to read on any further. However, for those interested in the extensive output of the PrintFlagsFinal JVM flag, I will leave curious readers with the printout below.

 

$ java -XX:+PrintFlagsFinal -version  [Global flags]  int ActiveProcessorCount = -1  uintx AdaptiveSizeDecrementScaleFactor = 4  uintx AdaptiveSizeMajorGCDecayTimeScale = 10  uintx AdaptiveSizePolicyCollectionCostMargin = 50  uintx AdaptiveSizePolicyInitializingSteps = 20  uintx AdaptiveSizePolicyOutputInterval = 0  uintx AdaptiveSizePolicyWeight = 10  uintx AdaptiveSizeThroughPutPolicy = 0  uintx AdaptiveTimeWeight = 25  bool AggressiveHeap = false  intx AliasLevel = 3  bool AlignVector = false  ccstr AllocateHeapAt =  intx AllocateInstancePrefetchLines = 1  intx AllocatePrefetchDistance = 256  intx AllocatePrefetchInstr = 0  intx AllocatePrefetchLines = 3  intx AllocatePrefetchStepSize = 64  intx AllocatePrefetchStyle = 1  bool AllowParallelDefineClass = false  bool AllowRedefinitionToAddDeleteMethods = false  bool AllowUserSignalHandlers = false  bool AllowVectorizeOnDemand = true  bool AlwaysActAsServerClassMachine = false  bool AlwaysCompileLoopMethods = false  bool AlwaysLockClassLoader = false  bool AlwaysPreTouch = false  bool AlwaysRestoreFPU = false  bool AlwaysTenure = false  ccstr ArchiveClassesAtExit =  intx ArrayCopyLoadStoreMaxElem = 8  size_t AsyncLogBufferSize = 2097152  intx AutoBoxCacheMax = 128  intx BCEATraceLevel = 0  bool BackgroundCompilation = true  size_t BaseFootPrintEstimate = 268435456  intx BiasedLockingBulkRebiasThreshold = 20  intx BiasedLockingBulkRevokeThreshold = 40  intx BiasedLockingDecayTime = 25000  intx BiasedLockingStartupDelay = 0  bool BlockLayoutByFrequency = true  intx BlockLayoutMinDiamondPercentage = 20  bool BlockLayoutRotateLoops = true  intx C1InlineStackLimit = 5  intx C1MaxInlineLevel = 9  intx C1MaxInlineSize = 35  intx C1MaxRecursiveInlineLevel = 1  intx C1MaxTrivialSize = 6  bool C1OptimizeVirtualCallProfiling = true  bool C1ProfileBranches = true  bool C1ProfileCalls = true  bool C1ProfileCheckcasts = true  bool C1ProfileInlinedCalls = true  bool C1ProfileVirtualCalls = true  bool C1UpdateMethodData = true  intx CICompilerCount = 4  bool CICompilerCountPerCPU = true  bool CITime = false  bool CheckJNICalls = false  bool ClassUnloading = true  bool ClassUnloadingWithConcurrentMark = true  bool ClipInlining = true  uintx CodeCacheExpansionSize = 65536  bool CompactStrings = true  ccstr CompilationMode = default  ccstrlist CompileCommand =  ccstr CompileCommandFile =  ccstrlist CompileOnly =  intx CompileThreshold = 10000  double CompileThresholdScaling = 1.000000  intx CompilerThreadPriority = -1  intx CompilerThreadStackSize = 0  size_t CompressedClassSpaceSize = 1073741824  uint ConcGCThreads = 3  intx ConditionalMoveLimit = 3  intx ContendedPaddingWidth = 128  bool CrashOnOutOfMemoryError = false  bool CreateCoredumpOnCrash = true  bool CriticalJNINatives = false  bool DTraceAllocProbes = false  bool DTraceMethodProbes = false  bool DTraceMonitorProbes = false  bool DisableAttachMechanism = false  bool DisableExplicitGC = false  bool DisplayVMOutputToStderr = false  bool DisplayVMOutputToStdout = false  bool DoEscapeAnalysis = true  bool DoReserveCopyInSuperWord = true  bool DontCompileHugeMethods = true  bool DontYieldALot = false  ccstr DumpLoadedClassList =  bool DumpReplayDataOnError = true  bool DumpSharedSpaces = false  bool DynamicDumpSharedSpaces = false  bool EagerXrunInit = false  intx EliminateAllocationArraySizeLimit = 64  bool EliminateAllocations = true  bool EliminateAutoBox = true  bool EliminateLocks = true  bool EliminateNestedLocks = true  bool EnableContended = true  bool EnableDynamicAgentLoading = true  size_t ErgoHeapSizeLimit = 0  ccstr ErrorFile =  bool ErrorFileToStderr = false  bool ErrorFileToStdout = false  uint64_t ErrorLogTimeout = 120  double EscapeAnalysisTimeout = 20.000000  bool EstimateArgEscape = true  bool ExecutingUnitTests = false  bool ExitOnOutOfMemoryError = false  bool ExplicitGCInvokesConcurrent = false  bool ExtendedDTraceProbes = false  bool ExtensiveErrorReports = false  ccstr ExtraSharedClassListFile =  bool FilterSpuriousWakeups = true  bool FlightRecorder = false  ccstr FlightRecorderOptions =  bool ForceTimeHighResolution = false  intx FreqInlineSize = 325  double G1ConcMarkStepDurationMillis = 10.000000  uintx G1ConcRSHotCardLimit = 4  size_t G1ConcRSLogCacheSize = 10  size_t G1ConcRefinementGreenZone = 0  size_t G1ConcRefinementRedZone = 0  uintx G1ConcRefinementServiceIntervalMillis = 300  uint G1ConcRefinementThreads = 10  size_t G1ConcRefinementThresholdStep = 2  size_t G1ConcRefinementYellowZone = 0  uintx G1ConfidencePercent = 50  size_t G1HeapRegionSize = 2097152  uintx G1HeapWastePercent = 5  uintx G1MixedGCCountTarget = 8  uintx G1PeriodicGCInterval = 0  bool G1PeriodicGCInvokesConcurrent = true  double G1PeriodicGCSystemLoadThreshold = 0.000000  intx G1RSetRegionEntries = 512  intx G1RSetSparseRegionEntries = 16  intx G1RSetUpdatingPauseTimePercent = 10  uint G1RefProcDrainInterval = 1000  uintx G1ReservePercent = 10  uintx G1SATBBufferEnqueueingThresholdPercent = 60  size_t G1SATBBufferSize = 1024  size_t G1UpdateBufferSize = 256  bool G1UseAdaptiveConcRefinement = true  bool G1UseAdaptiveIHOP = true  uintx GCDrainStackTargetSize = 64  uintx GCHeapFreeLimit = 2  uintx GCLockerEdenExpansionPercent = 5  uintx GCPauseIntervalMillis = 201  uintx GCTimeLimit = 98  uintx GCTimeRatio = 12  size_t HeapBaseMinAddress = 2147483648  bool HeapDumpAfterFullGC = false  bool HeapDumpBeforeFullGC = false  intx HeapDumpGzipLevel = 0  bool HeapDumpOnOutOfMemoryError = false  ccstr HeapDumpPath =  uintx HeapFirstMaximumCompactionCount = 3  uintx HeapMaximumCompactionInterval = 20  uintx HeapSearchSteps = 3  size_t HeapSizePerGCThread = 43620760  bool IgnoreEmptyClassPaths = false  bool IgnoreUnrecognizedVMOptions = false  uintx IncreaseFirstTierCompileThresholdAt = 50  bool IncrementalInline = true  uintx InitialCodeCacheSize = 2555904  size_t InitialHeapSize = 268435456  uintx InitialRAMFraction = 64  double InitialRAMPercentage = 1.562500  uintx InitialSurvivorRatio = 8  uintx InitialTenuringThreshold = 7  uintx InitiatingHeapOccupancyPercent = 45  bool Inline = true  ccstr InlineDataFile =  intx InlineSmallCode = 2500  bool InlineSynchronizedMethods = true  intx InteriorEntryAlignment = 16  intx InterpreterProfilePercentage = 33  bool JavaMonitorsInStackTrace = true  intx JavaPriority10_To_OSPriority = -1  intx JavaPriority1_To_OSPriority = -1  intx JavaPriority2_To_OSPriority = -1  intx JavaPriority3_To_OSPriority = -1  intx JavaPriority4_To_OSPriority = -1  intx JavaPriority5_To_OSPriority = -1  intx JavaPriority6_To_OSPriority = -1  intx JavaPriority7_To_OSPriority = -1  intx JavaPriority8_To_OSPriority = -1  intx JavaPriority9_To_OSPriority = -1  size_t LargePageHeapSizeThreshold = 134217728  size_t LargePageSizeInBytes = 0  intx LiveNodeCountInliningCutoff = 40000  intx LoopMaxUnroll = 16  intx LoopOptsCount = 43  intx LoopPercentProfileLimit = 10  uintx LoopStripMiningIter = 1000  uintx LoopStripMiningIterShortLoop = 100  intx LoopUnrollLimit = 60  intx LoopUnrollMin = 4  bool LoopUnswitching = true  bool ManagementServer = false  size_t MarkStackSize = 4194304  size_t MarkStackSizeMax = 536870912  uint MarkSweepAlwaysCompactCount = 4  uintx MarkSweepDeadRatio = 5  intx MaxBCEAEstimateLevel = 5  intx MaxBCEAEstimateSize = 150  uint64_t MaxDirectMemorySize = 0  bool MaxFDLimit = true  uintx MaxGCMinorPauseMillis = 18446744073709551615  uintx MaxGCPauseMillis = 200  uintx MaxHeapFreeRatio = 70  size_t MaxHeapSize = 4282384384  intx MaxInlineLevel = 15  intx MaxInlineSize = 35  intx MaxJNILocalCapacity = 65536  intx MaxJavaStackTraceDepth = 1024  intx MaxJumpTableSize = 65000  intx MaxJumpTableSparseness = 5  intx MaxLabelRootDepth = 1100  intx MaxLoopPad = 15  size_t MaxMetaspaceExpansion = 5439488  uintx MaxMetaspaceFreeRatio = 70  size_t MaxMetaspaceSize = 18446744073709551615  size_t MaxNewSize = 2569011200  intx MaxNodeLimit = 80000  uint64_t MaxRAM = 137438953472  uintx MaxRAMFraction = 4  double MaxRAMPercentage = 25.000000  intx MaxRecursiveInlineLevel = 1  uintx MaxTenuringThreshold = 15  intx MaxTrivialSize = 6  intx MaxVectorSize = 32  ccstr MetaspaceReclaimPolicy = balanced  size_t MetaspaceSize = 22020096  bool MethodFlushing = true  size_t MinHeapDeltaBytes = 2097152  uintx MinHeapFreeRatio = 40  size_t MinHeapSize = 8388608  intx MinInliningThreshold = 250  intx MinJumpTableSize = 10  size_t MinMetaspaceExpansion = 327680  uintx MinMetaspaceFreeRatio = 40  uintx MinRAMFraction = 2  double MinRAMPercentage = 50.000000  uintx MinSurvivorRatio = 3  size_t MinTLABSize = 2048  intx MultiArrayExpandLimit = 6  uintx NUMAChunkResizeWeight = 20  size_t NUMAInterleaveGranularity = 2097152  uintx NUMAPageScanRate = 256  size_t NUMASpaceResizeRate = 1073741824  bool NUMAStats = false  ccstr NativeMemoryTracking = off  bool NeverActAsServerClassMachine = false  bool NeverTenure = false  uintx NewRatio = 2  size_t NewSize = 1363144  size_t NewSizeThreadIncrease = 5320  intx NmethodSweepActivity = 10  intx NodeLimitFudgeFactor = 2000  uintx NonNMethodCodeHeapSize = 5839372  uintx NonProfiledCodeHeapSize = 122909434  intx NumberOfLoopInstrToAlign = 4  intx ObjectAlignmentInBytes = 8 {  size_t OldPLABSize = 1024  size_t OldSize = 5452592  bool OmitStackTraceInFastThrow = true  ccstrlist OnError =  ccstrlist OnOutOfMemoryError =  intx OnStackReplacePercentage = 140  bool OptimizeFill = false  bool OptimizePtrCompare = true  bool OptimizeStringConcat = true  bool OptoBundling = false  intx OptoLoopAlignment = 16  bool OptoRegScheduling = true  bool OptoScheduling = false  uintx PLABWeight = 75  bool PSChunkLargeArrays = true  int ParGCArrayScanChunk = 50  uintx ParallelGCBufferWastePct = 10  uint ParallelGCThreads = 10  size_t ParallelOldDeadWoodLimiterMean = 50  size_t ParallelOldDeadWoodLimiterStdDev = 80  bool ParallelRefProcBalancingEnabled = true  bool ParallelRefProcEnabled = true  bool PartialPeelAtUnsignedTests = true  bool PartialPeelLoop = true  intx PartialPeelNewPhiDelta = 0  uintx PausePadding = 1  intx PerBytecodeRecompilationCutoff = 200  intx PerBytecodeTrapLimit = 4  intx PerMethodRecompilationCutoff = 400  intx PerMethodTrapLimit = 100  bool PerfAllowAtExitRegistration = false  bool PerfBypassFileSystemCheck = false  intx PerfDataMemorySize = 32768  intx PerfDataSamplingInterval = 50  ccstr PerfDataSaveFile =  bool PerfDataSaveToFile = false  bool PerfDisableSharedMem = false  intx PerfMaxStringConstLength = 1024  size_t PreTouchParallelChunkSize = 1073741824  bool PreferInterpreterNativeStubs = false  intx PrefetchCopyIntervalInBytes = 576  intx PrefetchFieldsAhead = 1  intx PrefetchScanIntervalInBytes = 576  bool PreserveAllAnnotations = false  bool PreserveFramePointer = false  size_t PretenureSizeThreshold = 0  bool PrintClassHistogram = false  bool PrintCodeCache = false  bool PrintCodeCacheOnCompilation = false  bool PrintCommandLineFlags = false  bool PrintCompilation = false  bool PrintConcurrentLocks = false  bool PrintExtendedThreadInfo = false  bool PrintFlagsFinal = true  bool PrintFlagsInitial = false  bool PrintFlagsRanges = false  bool PrintGC = false  bool PrintGCDetails = false  bool PrintHeapAtSIGBREAK = true  bool PrintSharedArchiveAndExit = false  bool PrintSharedDictionary = false  bool PrintStringTableStatistics = false  bool PrintTieredEvents = false  bool PrintVMOptions = false  bool PrintWarnings = true  uintx ProcessDistributionStride = 4  bool ProfileInterpreter = true  intx ProfileMaturityPercentage = 20  uintx ProfiledCodeHeapSize = 122909434  uintx PromotedPadding = 3  uintx QueuedAllocationWarningCount = 0  int RTMRetryCount = 5  bool RangeCheckElimination = true  bool ReassociateInvariants = true  bool RecordDynamicDumpInfo = false  bool ReduceBulkZeroing = true  bool ReduceFieldZeroing = true  bool ReduceInitialCardMarks = true  bool ReduceSignalUsage = false  intx RefDiscoveryPolicy = 0  bool RegisterFinalizersAtInit = true  bool RelaxAccessControlCheck = false  ccstr ReplayDataFile =  bool RequireSharedSpaces = false  uintx ReservedCodeCacheSize = 251658240  bool ResizePLAB = true  bool ResizeTLAB = true  bool RestoreMXCSROnJNICalls = false  bool RestrictContended = true  bool RestrictReservedStack = true  bool RewriteBytecodes = true  bool RewriteFrequentPairs = true  bool SafepointTimeout = false  intx SafepointTimeoutDelay = 10000  bool ScavengeBeforeFullGC = false  bool SegmentedCodeCache = true  intx SelfDestructTimer = 0  ccstr SharedArchiveConfigFile =  ccstr SharedArchiveFile =  size_t SharedBaseAddress = 34359738368  ccstr SharedClassListFile =  uintx SharedSymbolTableBucketSize = 4  ccstr ShenandoahGCHeuristics = adaptive  ccstr ShenandoahGCMode = satb  bool ShowCodeDetailsInExceptionMessages = true  bool ShowMessageBoxOnError = false  bool ShrinkHeapInSteps = true  size_t SoftMaxHeapSize = 4282384384  intx SoftRefLRUPolicyMSPerMB = 1000  bool SplitIfBlocks = true  intx StackRedPages = 1  intx StackReservedPages = 0  intx StackShadowPages = 7  bool StackTraceInThrowable = true  intx StackYellowPages = 3  uintx StartAggressiveSweepingAt = 10  bool StartAttachListener = false  ccstr StartFlightRecording =  uint StringDeduplicationAgeThreshold = 3  uintx StringTableSize = 65536  bool SuperWordLoopUnrollAnalysis = true  bool SuperWordReductions = true  bool SuppressFatalErrorMessage = false  uintx SurvivorPadding = 3  uintx SurvivorRatio = 8  double SweeperThreshold = 0.500000  uintx TLABAllocationWeight = 35  uintx TLABRefillWasteFraction = 64  size_t TLABSize = 0  bool TLABStats = true  uintx TLABWasteIncrement = 4  uintx TLABWasteTargetPercent = 1  uintx TargetPLABWastePct = 10  uintx TargetSurvivorRatio = 50  uintx TenuredGenerationSizeIncrement = 20  uintx TenuredGenerationSizeSupplement = 80  uintx TenuredGenerationSizeSupplementDecay = 2  intx ThreadPriorityPolicy = 0  bool ThreadPriorityVerbose = false  intx ThreadStackSize = 0  uintx ThresholdTolerance = 10  intx Tier0BackedgeNotifyFreqLog = 10  intx Tier0InvokeNotifyFreqLog = 7  intx Tier0ProfilingStartPercentage = 200  intx Tier23InlineeNotifyFreqLog = 20  intx Tier2BackEdgeThreshold = 0  intx Tier2BackedgeNotifyFreqLog = 14  intx Tier2CompileThreshold = 0  intx Tier2InvokeNotifyFreqLog = 11  intx Tier3BackEdgeThreshold = 60000  intx Tier3BackedgeNotifyFreqLog = 13  intx Tier3CompileThreshold = 2000  intx Tier3DelayOff = 2  intx Tier3DelayOn = 5  intx Tier3InvocationThreshold = 200  intx Tier3InvokeNotifyFreqLog = 10  intx Tier3LoadFeedback = 5  intx Tier3MinInvocationThreshold = 100  intx Tier4BackEdgeThreshold = 40000  intx Tier4CompileThreshold = 15000  intx Tier4InvocationThreshold = 5000  intx Tier4LoadFeedback = 3  intx Tier4MinInvocationThreshold = 600  bool TieredCompilation = true  intx TieredCompileTaskTimeout = 50  intx TieredRateUpdateMaxTime = 25  intx TieredRateUpdateMinTime = 1  intx TieredStopAtLevel = 4  bool TimeLinearScan = false  ccstr TraceJVMTI =  intx TrackedInitializationLimit = 50  bool TrapBasedNullChecks = false  bool TrapBasedRangeChecks = false  intx TypeProfileArgsLimit = 2  uintx TypeProfileLevel = 111  intx TypeProfileMajorReceiverPercent = 90  intx TypeProfileParmsLimit = 2  intx TypeProfileWidth = 2  intx UnguardOnExecutionViolation = 0  bool UseAES = true  intx UseAVX = 2  bool UseAdaptiveGenerationSizePolicyAtMajorCollection = true  bool UseAdaptiveGenerationSizePolicyAtMinorCollection = true  bool UseAdaptiveNUMAChunkSizing = true  bool UseAdaptiveSizeDecayMajorGCCost = true  bool UseAdaptiveSizePolicy = true  bool UseAdaptiveSizePolicyFootprintGoal = true  bool UseAdaptiveSizePolicyWithSystemGC = false  bool UseAddressNop = true  bool UseBASE64Intrinsics = false  bool UseBMI1Instructions = true  bool UseBMI2Instructions = true  bool UseBiasedLocking = false  bool UseBimorphicInlining = true  bool UseCLMUL = true  bool UseCMoveUnconditionally = false  bool UseCodeAging = true  bool UseCodeCacheFlushing = true  bool UseCompiler = true  bool UseCompressedClassPointers = true {  bool UseCompressedOops = true {  bool UseCondCardMark = false  bool UseCountLeadingZerosInstruction = true  bool UseCountTrailingZerosInstruction = true  bool UseCountedLoopSafepoints = true  bool UseCounterDecay = true  bool UseDivMod = true  bool UseDynamicNumberOfCompilerThreads = true  bool UseDynamicNumberOfGCThreads = true  bool UseEmptySlotsInSupers = true  bool UseFMA = true  bool UseFPUForSpilling = true  bool UseFastJNIAccessors = true  bool UseFastStosb = false  bool UseG1GC = true  bool UseGCOverheadLimit = true  bool UseHeavyMonitors = false  bool UseInlineCaches = true  bool UseInterpreter = true  bool UseJumpTables = true  bool UseLargePages = false  bool UseLargePagesIndividualAllocation = false  bool UseLoopCounter = true  bool UseLoopInvariantCodeMotion = true  bool UseLoopPredicate = true  bool UseMaximumCompactionOnSystemGC = true  bool UseNUMA = false  bool UseNUMAInterleaving = false  bool UseNewLongLShift = true  bool UseNotificationThread = true  bool UseOSErrorReporting = false  bool UseOnStackReplacement = true  bool UseOnlyInlinedBimorphic = true  bool UseOptoBiasInlining = false  bool UsePSAdaptiveSurvivorSizePolicy = true  bool UseParallelGC = false  bool UsePerfData = true  bool UsePopCountInstruction = true  bool UseProfiledLoopPredicate = true  bool UseRTMDeopt = false  bool UseRTMLocking = false  bool UseSHA = true  intx UseSSE = 4  bool UseSSE42Intrinsics = true  bool UseSerialGC = false  bool UseSharedSpaces = true  bool UseShenandoahGC = false  bool UseSignalChaining = true  bool UseStoreImmI16 = true  bool UseStringDeduplication = false  bool UseSubwordForMaxVector = true  bool UseSuperWord = true  bool UseTLAB = true  bool UseThreadPriorities = true  bool UseTypeProfile = true  bool UseTypeSpeculation = true  bool UseUnalignedLoadStores = true  bool UseVectorCmov = false  bool UseXMMForArrayCopy = true  bool UseXMMForObjInit = true  bool UseXmmI2D = true  bool UseXmmI2F = true  bool UseXmmLoadAndClearUpper = true  bool UseXmmRegToRegMoveAll = true  bool UseZGC = false  intx VMThreadPriority = -1  intx VMThreadStackSize = 0  intx ValueMapInitialSize = 11  intx ValueMapMaxLoopSize = 8  intx ValueSearchLimit = 1000  bool VerifySharedSpaces = false  uintx YoungGenerationSizeIncrement = 20  uintx YoungGenerationSizeSupplement = 80  uintx YoungGenerationSizeSupplementDecay = 8  size_t YoungPLABSize = 4096  double ZAllocationSpikeTolerance = 2.000000  double ZCollectionInterval = 0.000000  double ZFragmentationLimit = 25.000000  size_t ZMarkStackSpaceLimit = 8589934592  bool ZProactive = true  bool ZUncommit = true  uintx ZUncommitDelay = 300  bool ZeroTLAB = false  openjdk version "17.0.6" 2023-01-17  OpenJDK Runtime Environment Temurin-17.0.6+10 (build 17.0.6+10)  OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)

 

 

App Architecture
Software Quality
Cloud Computing
Security
SearchAWS
Close