{"id":31131,"date":"2022-09-08T03:48:38","date_gmt":"2023-04-07T16:26:51","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/"},"modified":"2025-08-12T22:29:10","modified_gmt":"2025-08-12T14:29:10","slug":"%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/","title":{"rendered":"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879"},"content":{"rendered":"<h2>&#8211; \u5728\u4e2d\u56fd\u8bed\u8a00\u4e2d\uff0c\u53ea\u9700\u8981\u4e00\u4e2a\u9009\u9879\u6765\u8868\u8ff0\u4ee5\u4e0b\u5185\u5bb9:<br \/>\n&#8211; \u5728\u521d\u59cb\u9636\u6bb5\u4e2d\u6253\u5370\u5783\u573e\u56de\u6536\u7684\u8f93\u51fa\u4fe1\u606f\uff0c\u5e76\u6253\u5370\u6700\u7ec8\u6807\u8bb0\u7684\u9009\u9879\u3002\u8f93\u51fa\u6240\u6709GC\u9009\u9879\u8bbe\u7f6e\u3002<\/p>\n<h2>&#8211; \u6253\u5f00XX\u9009\u9879\uff0c\u5e76\u6253\u5370\u8be6\u7ec6\u7684\u5783\u573e\u56de\u6536\u7ec6\u8282\u5728\u6240\u6709\u7684GC\u4e0a\u542f\u7528\u8be6\u7ec6\u6d88\u606f\u7684\u8f93\u51fa\u3002<\/p>\n<h2>\u786e\u8ba4\u5b9e\u65bd\u793a\u4f8b\u4ee3\u7801<\/p>\n<pre class=\"post-pre\"><code><span class=\"kd\">public<\/span> <span class=\"kd\">class<\/span> <span class=\"nc\">OOMTest<\/span> <span class=\"o\">{<\/span>\r\n\r\n  <span class=\"kd\">public<\/span> <span class=\"kd\">static<\/span> <span class=\"kt\">void<\/span> <span class=\"nf\">main<\/span><span class=\"o\">(<\/span><span class=\"nc\">String<\/span><span class=\"o\">[]<\/span> <span class=\"n\">args<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\r\n    <span class=\"kt\">int<\/span> <span class=\"n\">i<\/span><span class=\"o\">=<\/span><span class=\"mi\">0<\/span><span class=\"o\">;<\/span>\r\n    <span class=\"nc\">List<\/span><span class=\"o\">&lt;<\/span><span class=\"nc\">String<\/span><span class=\"o\">&gt;<\/span> <span class=\"n\">list<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nc\">ArrayList<\/span><span class=\"o\">&lt;&gt;();<\/span>\r\n    <span class=\"nc\">String<\/span> <span class=\"n\">str<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"OOM and GC\"<\/span><span class=\"o\">;<\/span>\r\n    <span class=\"k\">while<\/span><span class=\"o\">(<\/span><span class=\"kc\">true<\/span><span class=\"o\">)<\/span> <span class=\"o\">{<\/span>\r\n      <span class=\"n\">list<\/span><span class=\"o\">.<\/span><span class=\"na\">add<\/span><span class=\"o\">(<\/span><span class=\"n\">str<\/span><span class=\"o\">);<\/span>\r\n      <span class=\"n\">str<\/span> <span class=\"o\">=<\/span> <span class=\"n\">str<\/span> <span class=\"o\">+<\/span> <span class=\"n\">str<\/span><span class=\"o\">;<\/span>\r\n      <span class=\"n\">i<\/span> <span class=\"o\">=<\/span> <span class=\"n\">i<\/span><span class=\"o\">++;<\/span>\r\n    <span class=\"o\">}<\/span>\r\n  <span class=\"o\">}<\/span>\r\n<span class=\"o\">}<\/span>\r\n<\/code><\/pre>\n<p>\u6267\u884c\u9009\u9879<\/p>\n<pre class=\"post-pre\"><code>-Xms5m -Xmx5m -XX:+PrintFlagsInitial\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>[Global flags]\r\n     intx ActiveProcessorCount                      = -1                                  {product}\r\n    uintx AdaptiveSizeDecrementScaleFactor          = 4                                   {product}\r\n    uintx AdaptiveSizeMajorGCDecayTimeScale         = 10                                  {product}\r\n    uintx AdaptiveSizePausePolicy                   = 0                                   {product}\r\n    uintx AdaptiveSizePolicyCollectionCostMargin    = 50                                  {product}\r\n    uintx AdaptiveSizePolicyInitializingSteps       = 20                                  {product}\r\n    uintx AdaptiveSizePolicyOutputInterval          = 0                                   {product}\r\n    uintx AdaptiveSizePolicyWeight                  = 10                                  {product}\r\n    uintx AdaptiveSizeThroughPutPolicy              = 0                                   {product}\r\n    uintx AdaptiveTimeWeight                        = 25                                  {product}\r\n     bool AdjustConcurrency                         = false                               {product}\r\n     bool AggressiveHeap                            = false                               {product}\r\n     bool AggressiveOpts                            = false                               {product}\r\n     intx AliasLevel                                = 3                                   {C2 product}\r\n     bool AlignVector                               = false                               {C2 product}\r\n     intx AllocateInstancePrefetchLines             = 1                                   {product}\r\n     intx AllocatePrefetchDistance                  = 192                                 {product}\r\n     intx AllocatePrefetchInstr                     = 3                                   {product}\r\n     intx AllocatePrefetchLines                     = 4                                   {product}\r\n     intx AllocatePrefetchStepSize                  = 64                                  {product}\r\n     intx AllocatePrefetchStyle                     = 1                                   {product}\r\n     bool AllowJNIEnvProxy                          = false                               {product}\r\n     bool AllowNonVirtualCalls                      = false                               {product}\r\n     bool AllowParallelDefineClass                  = false                               {product}\r\n     bool AllowUserSignalHandlers                   = false                               {product}\r\n     bool AlwaysActAsServerClassMachine             = false                               {product}\r\n     bool AlwaysCompileLoopMethods                  = false                               {product}\r\n     bool AlwaysLockClassLoader                     = false                               {product}\r\n     bool AlwaysPreTouch                            = false                               {product}\r\n     bool AlwaysRestoreFPU                          = false                               {product}\r\n     bool AlwaysTenure                              = false                               {product}\r\n     bool AssertOnSuspendWaitFailure                = false                               {product}\r\n     bool AssumeMP                                  = false                               {product}\r\n     intx AutoBoxCacheMax                           = 128                                 {C2 product}\r\n    uintx AutoGCSelectPauseMillis                   = 5000                                {product}\r\n     intx BCEATraceLevel                            = 0                                   {product}\r\n     intx BackEdgeThreshold                         = 100000                              {pd product}\r\n     bool BackgroundCompilation                     = true                                {pd product}\r\n    uintx BaseFootPrintEstimate                     = 268435456                           {product}\r\n     intx BiasedLockingBulkRebiasThreshold          = 20                                  {product}\r\n     intx BiasedLockingBulkRevokeThreshold          = 40                                  {product}\r\n     intx BiasedLockingDecayTime                    = 25000                               {product}\r\n     intx BiasedLockingStartupDelay                 = 4000                                {product}\r\n     bool BindGCTaskThreadsToCPUs                   = false                               {product}\r\n     bool BlockLayoutByFrequency                    = true                                {C2 product}\r\n     intx BlockLayoutMinDiamondPercentage           = 20                                  {C2 product}\r\n     bool BlockLayoutRotateLoops                    = true                                {C2 product}\r\n     bool BranchOnRegister                          = false                               {C2 product}\r\n     bool BytecodeVerificationLocal                 = false                               {product}\r\n     bool BytecodeVerificationRemote                = true                                {product}\r\n     bool C1OptimizeVirtualCallProfiling            = true                                {C1 product}\r\n     bool C1ProfileBranches                         = true                                {C1 product}\r\n     bool C1ProfileCalls                            = true                                {C1 product}\r\n     bool C1ProfileCheckcasts                       = true                                {C1 product}\r\n     bool C1ProfileInlinedCalls                     = true                                {C1 product}\r\n     bool C1ProfileVirtualCalls                     = true                                {C1 product}\r\n     bool C1UpdateMethodData                        = true                                {C1 product}\r\n     intx CICompilerCount                          := 4                                   {product}\r\n     bool CICompilerCountPerCPU                     = true                                {product}\r\n     bool CITime                                    = false                               {product}\r\n     bool CMSAbortSemantics                         = false                               {product}\r\n    uintx CMSAbortablePrecleanMinWorkPerIteration   = 100                                 {product}\r\n     intx CMSAbortablePrecleanWaitMillis            = 100                                 {manageable}\r\n    uintx CMSBitMapYieldQuantum                     = 10485760                            {product}\r\n    uintx CMSBootstrapOccupancy                     = 50                                  {product}\r\n     bool CMSClassUnloadingEnabled                  = true                                {product}\r\n    uintx CMSClassUnloadingMaxInterval              = 0                                   {product}\r\n     bool CMSCleanOnEnter                           = true                                {product}\r\n     bool CMSCompactWhenClearAllSoftRefs            = true                                {product}\r\n    uintx CMSConcMarkMultiple                       = 32                                  {product}\r\n     bool CMSConcurrentMTEnabled                    = true                                {product}\r\n    uintx CMSCoordinatorYieldSleepCount             = 10                                  {product}\r\n     bool CMSDumpAtPromotionFailure                 = false                               {product}\r\n     bool CMSEdenChunksRecordAlways                 = true                                {product}\r\n    uintx CMSExpAvgFactor                           = 50                                  {product}\r\n     bool CMSExtrapolateSweep                       = false                               {product}\r\n    uintx CMSFullGCsBeforeCompaction                = 0                                   {product}\r\n    uintx CMSIncrementalDutyCycle                   = 10                                  {product}\r\n    uintx CMSIncrementalDutyCycleMin                = 0                                   {product}\r\n     bool CMSIncrementalMode                        = false                               {product}\r\n    uintx CMSIncrementalOffset                      = 0                                   {product}\r\n     bool CMSIncrementalPacing                      = true                                {product}\r\n    uintx CMSIncrementalSafetyFactor                = 10                                  {product}\r\n    uintx CMSIndexedFreeListReplenish               = 4                                   {product}\r\n     intx CMSInitiatingOccupancyFraction            = -1                                  {product}\r\n    uintx CMSIsTooFullPercentage                    = 98                                  {product}\r\n   double CMSLargeCoalSurplusPercent                = 0.950000                            {product}\r\n   double CMSLargeSplitSurplusPercent               = 1.000000                            {product}\r\n     bool CMSLoopWarn                               = false                               {product}\r\n    uintx CMSMaxAbortablePrecleanLoops              = 0                                   {product}\r\n     intx CMSMaxAbortablePrecleanTime               = 5000                                {product}\r\n    uintx CMSOldPLABMax                             = 1024                                {product}\r\n    uintx CMSOldPLABMin                             = 16                                  {product}\r\n    uintx CMSOldPLABNumRefills                      = 4                                   {product}\r\n    uintx CMSOldPLABReactivityFactor                = 2                                   {product}\r\n     bool CMSOldPLABResizeQuicker                   = false                               {product}\r\n    uintx CMSOldPLABToleranceFactor                 = 4                                   {product}\r\n     bool CMSPLABRecordAlways                       = true                                {product}\r\n    uintx CMSParPromoteBlocksToClaim                = 16                                  {product}\r\n     bool CMSParallelInitialMarkEnabled             = true                                {product}\r\n     bool CMSParallelRemarkEnabled                  = true                                {product}\r\n     bool CMSParallelSurvivorRemarkEnabled          = true                                {product}\r\n    uintx CMSPrecleanDenominator                    = 3                                   {product}\r\n    uintx CMSPrecleanIter                           = 3                                   {product}\r\n    uintx CMSPrecleanNumerator                      = 2                                   {product}\r\n     bool CMSPrecleanRefLists1                      = true                                {product}\r\n     bool CMSPrecleanRefLists2                      = false                               {product}\r\n     bool CMSPrecleanSurvivors1                     = false                               {product}\r\n     bool CMSPrecleanSurvivors2                     = true                                {product}\r\n    uintx CMSPrecleanThreshold                      = 1000                                {product}\r\n     bool CMSPrecleaningEnabled                     = true                                {product}\r\n     bool CMSPrintChunksInDump                      = false                               {product}\r\n     bool CMSPrintEdenSurvivorChunks                = false                               {product}\r\n     bool CMSPrintObjectsInDump                     = false                               {product}\r\n    uintx CMSRemarkVerifyVariant                    = 1                                   {product}\r\n     bool CMSReplenishIntermediate                  = true                                {product}\r\n    uintx CMSRescanMultiple                         = 32                                  {product}\r\n    uintx CMSSamplingGrain                          = 16384                               {product}\r\n     bool CMSScavengeBeforeRemark                   = false                               {product}\r\n    uintx CMSScheduleRemarkEdenPenetration          = 50                                  {product}\r\n    uintx CMSScheduleRemarkEdenSizeThreshold        = 2097152                             {product}\r\n    uintx CMSScheduleRemarkSamplingRatio            = 5                                   {product}\r\n   double CMSSmallCoalSurplusPercent                = 1.050000                            {product}\r\n   double CMSSmallSplitSurplusPercent               = 1.100000                            {product}\r\n     bool CMSSplitIndexedFreeListBlocks             = true                                {product}\r\n     intx CMSTriggerInterval                        = -1                                  {manageable}\r\n    uintx CMSTriggerRatio                           = 80                                  {product}\r\n     intx CMSWaitDuration                           = 2000                                {manageable}\r\n    uintx CMSWorkQueueDrainThreshold                = 10                                  {product}\r\n     bool CMSYield                                  = true                                {product}\r\n    uintx CMSYieldSleepCount                        = 0                                   {product}\r\n    uintx CMSYoungGenPerWorker                      = 67108864                            {pd product}\r\n    uintx CMS_FLSPadding                            = 1                                   {product}\r\n    uintx CMS_FLSWeight                             = 75                                  {product}\r\n    uintx CMS_SweepPadding                          = 1                                   {product}\r\n    uintx CMS_SweepTimerThresholdMillis             = 10                                  {product}\r\n    uintx CMS_SweepWeight                           = 75                                  {product}\r\n     bool CheckEndorsedAndExtDirs                   = false                               {product}\r\n     bool CheckJNICalls                             = false                               {product}\r\n     bool ClassUnloading                            = true                                {product}\r\n     bool ClassUnloadingWithConcurrentMark          = true                                {product}\r\n     intx ClearFPUAtPark                            = 0                                   {product}\r\n     bool ClipInlining                              = true                                {product}\r\n    uintx CodeCacheExpansionSize                    = 65536                               {pd product}\r\n    uintx CodeCacheMinimumFreeSpace                 = 512000                              {product}\r\n     bool CollectGen0First                          = false                               {product}\r\n     bool CompactFields                             = true                                {product}\r\n     intx CompilationPolicyChoice                   = 3                                   {product}\r\nccstrlist CompileCommand                            =                                     {product}\r\n    ccstr CompileCommandFile                        =                                     {product}\r\nccstrlist CompileOnly                               =                                     {product}\r\n     intx CompileThreshold                          = 10000                               {pd product}\r\n     bool CompilerThreadHintNoPreempt               = true                                {product}\r\n     intx CompilerThreadPriority                    = -1                                  {product}\r\n     intx CompilerThreadStackSize                   = 0                                   {pd product}\r\n    uintx CompressedClassSpaceSize                  = 1073741824                          {product}\r\n    uintx ConcGCThreads                             = 0                                   {product}\r\n     intx ConditionalMoveLimit                      = 3                                   {C2 pd product}\r\n     intx ContendedPaddingWidth                     = 128                                 {product}\r\n     bool ConvertSleepToYield                       = true                                {pd product}\r\n     bool ConvertYieldToSleep                       = false                               {product}\r\n     bool CrashOnOutOfMemoryError                   = false                               {product}\r\n     bool CreateMinidumpOnCrash                     = false                               {product}\r\n     bool CriticalJNINatives                        = true                                {product}\r\n     bool DTraceAllocProbes                         = false                               {product}\r\n     bool DTraceMethodProbes                        = false                               {product}\r\n     bool DTraceMonitorProbes                       = false                               {product}\r\n     bool Debugging                                 = false                               {product}\r\n    uintx DefaultMaxRAMFraction                     = 4                                   {product}\r\n     intx DefaultThreadPriority                     = -1                                  {product}\r\n     intx DeferPollingPageLoopCount                 = -1                                  {product}\r\n     intx DeferThrSuspendLoopCount                  = 4000                                {product}\r\n     bool DeoptimizeRandom                          = false                               {product}\r\n     bool DisableAttachMechanism                    = false                               {product}\r\n     bool DisableExplicitGC                         = false                               {product}\r\n     bool DisplayVMOutputToStderr                   = false                               {product}\r\n     bool DisplayVMOutputToStdout                   = false                               {product}\r\n     bool DoEscapeAnalysis                          = true                                {C2 product}\r\n     bool DontCompileHugeMethods                    = true                                {product}\r\n     bool DontYieldALot                             = false                               {pd product}\r\n    ccstr DumpLoadedClassList                       =                                     {product}\r\n     bool DumpReplayDataOnError                     = true                                {product}\r\n     bool DumpSharedSpaces                          = false                               {product}\r\n     bool EagerXrunInit                             = false                               {product}\r\n     intx EliminateAllocationArraySizeLimit         = 64                                  {C2 product}\r\n     bool EliminateAllocations                      = true                                {C2 product}\r\n     bool EliminateAutoBox                          = true                                {C2 product}\r\n     bool EliminateLocks                            = true                                {C2 product}\r\n     bool EliminateNestedLocks                      = true                                {C2 product}\r\n     intx EmitSync                                  = 0                                   {product}\r\n     bool EnableContended                           = true                                {product}\r\n     bool EnableResourceManagementTLABCache         = true                                {product}\r\n     bool EnableSharedLookupCache                   = true                                {product}\r\n     bool EnableTracing                             = false                               {product}\r\n    uintx ErgoHeapSizeLimit                         = 0                                   {product}\r\n    ccstr ErrorFile                                 =                                     {product}\r\n    ccstr ErrorReportServer                         =                                     {product}\r\n   double EscapeAnalysisTimeout                     = 20.000000                           {C2 product}\r\n     bool EstimateArgEscape                         = true                                {product}\r\n     bool ExitOnOutOfMemoryError                    = false                               {product}\r\n     bool ExplicitGCInvokesConcurrent               = false                               {product}\r\n     bool ExplicitGCInvokesConcurrentAndUnloadsClasses  = false                               {product}\r\n     bool ExtendedDTraceProbes                      = false                               {product}\r\n    ccstr ExtraSharedClassListFile                  =                                     {product}\r\n     bool FLSAlwaysCoalesceLarge                    = false                               {product}\r\n    uintx FLSCoalescePolicy                         = 2                                   {product}\r\n   double FLSLargestBlockCoalesceProximity          = 0.990000                            {product}\r\n     bool FailOverToOldVerifier                     = true                                {product}\r\n     bool FastTLABRefill                            = true                                {product}\r\n     intx FenceInstruction                          = 0                                   {ARCH product}\r\n     intx FieldsAllocationStyle                     = 1                                   {product}\r\n     bool FilterSpuriousWakeups                     = true                                {product}\r\n    ccstr FlightRecorderOptions                     =                                     {product}\r\n     bool ForceNUMA                                 = false                               {product}\r\n     bool ForceTimeHighResolution                   = false                               {product}\r\n     intx FreqInlineSize                            = 325                                 {pd product}\r\n   double G1ConcMarkStepDurationMillis              = 10.000000                           {product}\r\n    uintx G1ConcRSHotCardLimit                      = 4                                   {product}\r\n    uintx G1ConcRSLogCacheSize                      = 10                                  {product}\r\n     intx G1ConcRefinementGreenZone                 = 0                                   {product}\r\n     intx G1ConcRefinementRedZone                   = 0                                   {product}\r\n     intx G1ConcRefinementServiceIntervalMillis     = 300                                 {product}\r\n    uintx G1ConcRefinementThreads                   = 0                                   {product}\r\n     intx G1ConcRefinementThresholdStep             = 0                                   {product}\r\n     intx G1ConcRefinementYellowZone                = 0                                   {product}\r\n    uintx G1ConfidencePercent                       = 50                                  {product}\r\n    uintx G1HeapRegionSize                          = 0                                   {product}\r\n    uintx G1HeapWastePercent                        = 5                                   {product}\r\n    uintx G1MixedGCCountTarget                      = 8                                   {product}\r\n     intx G1RSetRegionEntries                       = 0                                   {product}\r\n    uintx G1RSetScanBlockSize                       = 64                                  {product}\r\n     intx G1RSetSparseRegionEntries                 = 0                                   {product}\r\n     intx G1RSetUpdatingPauseTimePercent            = 10                                  {product}\r\n     intx G1RefProcDrainInterval                    = 10                                  {product}\r\n    uintx G1ReservePercent                          = 10                                  {product}\r\n    uintx G1SATBBufferEnqueueingThresholdPercent    = 60                                  {product}\r\n     intx G1SATBBufferSize                          = 1024                                {product}\r\n     intx G1UpdateBufferSize                        = 256                                 {product}\r\n     bool G1UseAdaptiveConcRefinement               = true                                {product}\r\n    uintx GCDrainStackTargetSize                    = 64                                  {product}\r\n    uintx GCHeapFreeLimit                           = 2                                   {product}\r\n    uintx GCLockerEdenExpansionPercent              = 5                                   {product}\r\n     bool GCLockerInvokesConcurrent                 = false                               {product}\r\n    uintx GCLogFileSize                             = 8192                                {product}\r\n    uintx GCPauseIntervalMillis                     = 0                                   {product}\r\n    uintx GCTaskTimeStampEntries                    = 200                                 {product}\r\n    uintx GCTimeLimit                               = 98                                  {product}\r\n    uintx GCTimeRatio                               = 99                                  {product}\r\n    uintx HeapBaseMinAddress                        = 2147483648                          {pd product}\r\n     bool HeapDumpAfterFullGC                       = false                               {manageable}\r\n     bool HeapDumpBeforeFullGC                      = false                               {manageable}\r\n     bool HeapDumpOnOutOfMemoryError                = false                               {manageable}\r\n    ccstr HeapDumpPath                              =                                     {manageable}\r\n    uintx HeapFirstMaximumCompactionCount           = 3                                   {product}\r\n    uintx HeapMaximumCompactionInterval             = 20                                  {product}\r\n    uintx HeapSizePerGCThread                       = 87241520                            {product}\r\n     bool IgnoreEmptyClassPaths                     = false                               {product}\r\n     bool IgnoreUnrecognizedVMOptions               = false                               {product}\r\n    uintx IncreaseFirstTierCompileThresholdAt       = 50                                  {product}\r\n     bool IncrementalInline                         = true                                {C2 product}\r\n    uintx InitialBootClassLoaderMetaspaceSize       = 4194304                             {product}\r\n    uintx InitialCodeCacheSize                      = 2555904                             {pd product}\r\n    uintx InitialHeapSize                          := 6291456                             {product}\r\n    uintx InitialRAMFraction                        = 64                                  {product}\r\n   double InitialRAMPercentage                      = 1.562500                            {product}\r\n    uintx InitialSurvivorRatio                      = 8                                   {product}\r\n    uintx InitialTenuringThreshold                  = 7                                   {product}\r\n    uintx InitiatingHeapOccupancyPercent            = 45                                  {product}\r\n     bool Inline                                    = true                                {product}\r\n    ccstr InlineDataFile                            =                                     {product}\r\n     intx InlineSmallCode                           = 2000                                {pd product}\r\n     bool InlineSynchronizedMethods                 = true                                {C1 product}\r\n     bool InsertMemBarAfterArraycopy                = true                                {C2 product}\r\n     intx InteriorEntryAlignment                    = 16                                  {C2 pd product}\r\n     intx InterpreterProfilePercentage              = 33                                  {product}\r\n     bool JNIDetachReleasesMonitors                 = true                                {product}\r\n     bool JavaMonitorsInStackTrace                  = true                                {product}\r\n     intx JavaPriority10_To_OSPriority              = -1                                  {product}\r\n     intx JavaPriority1_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority2_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority3_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority4_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority5_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority6_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority7_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority8_To_OSPriority               = -1                                  {product}\r\n     intx JavaPriority9_To_OSPriority               = -1                                  {product}\r\n     bool LIRFillDelaySlots                         = false                               {C1 pd product}\r\n    uintx LargePageHeapSizeThreshold                = 134217728                           {product}\r\n    uintx LargePageSizeInBytes                      = 0                                   {product}\r\n     bool LazyBootClassLoader                       = true                                {product}\r\n     intx LiveNodeCountInliningCutoff               = 40000                               {C2 product}\r\n     bool LogCommercialFeatures                     = false                               {product}\r\n     intx LoopMaxUnroll                             = 16                                  {C2 product}\r\n     intx LoopOptsCount                             = 43                                  {C2 product}\r\n     intx LoopUnrollLimit                           = 60                                  {C2 pd product}\r\n     intx LoopUnrollMin                             = 4                                   {C2 product}\r\n     bool LoopUnswitching                           = true                                {C2 product}\r\n     bool ManagementServer                          = false                               {product}\r\n    uintx MarkStackSize                             = 4194304                             {product}\r\n    uintx MarkStackSizeMax                          = 536870912                           {product}\r\n    uintx MarkSweepAlwaysCompactCount               = 4                                   {product}\r\n    uintx MarkSweepDeadRatio                        = 1                                   {product}\r\n     intx MaxBCEAEstimateLevel                      = 5                                   {product}\r\n     intx MaxBCEAEstimateSize                       = 150                                 {product}\r\n    uintx MaxDirectMemorySize                       = 0                                   {product}\r\n     bool MaxFDLimit                                = true                                {product}\r\n    uintx MaxGCMinorPauseMillis                     = 4294967295                          {product}\r\n    uintx MaxGCPauseMillis                          = 4294967295                          {product}\r\n    uintx MaxHeapFreeRatio                          = 100                                 {manageable}\r\n    uintx MaxHeapSize                              := 6291456                             {product}\r\n     intx MaxInlineLevel                            = 9                                   {product}\r\n     intx MaxInlineSize                             = 35                                  {product}\r\n     intx MaxJNILocalCapacity                       = 65536                               {product}\r\n     intx MaxJavaStackTraceDepth                    = 1024                                {product}\r\n     intx MaxJumpTableSize                          = 65000                               {C2 product}\r\n     intx MaxJumpTableSparseness                    = 5                                   {C2 product}\r\n     intx MaxLabelRootDepth                         = 1100                                {C2 product}\r\n     intx MaxLoopPad                                = 11                                  {C2 product}\r\n    uintx MaxMetaspaceExpansion                     = 5451776                             {product}\r\n    uintx MaxMetaspaceFreeRatio                     = 70                                  {product}\r\n    uintx MaxMetaspaceSize                          = 4294901760                          {product}\r\n    uintx MaxNewSize                               := 2097152                             {product}\r\n     intx MaxNodeLimit                              = 75000                               {C2 product}\r\n uint64_t MaxRAM                                    = 0                                   {pd product}\r\n    uintx MaxRAMFraction                            = 4                                   {product}\r\n   double MaxRAMPercentage                          = 25.000000                           {product}\r\n     intx MaxRecursiveInlineLevel                   = 1                                   {product}\r\n    uintx MaxTenuringThreshold                      = 15                                  {product}\r\n     intx MaxTrivialSize                            = 6                                   {product}\r\n     intx MaxVectorSize                             = 32                                  {C2 product}\r\n    uintx MetaspaceSize                             = 21807104                            {pd product}\r\n     bool MethodFlushing                            = true                                {product}\r\n    uintx MinHeapDeltaBytes                        := 524288                              {product}\r\n    uintx MinHeapFreeRatio                          = 0                                   {manageable}\r\n     intx MinInliningThreshold                      = 250                                 {product}\r\n     intx MinJumpTableSize                          = 10                                  {C2 pd product}\r\n    uintx MinMetaspaceExpansion                     = 339968                              {product}\r\n    uintx MinMetaspaceFreeRatio                     = 40                                  {product}\r\n    uintx MinRAMFraction                            = 2                                   {product}\r\n   double MinRAMPercentage                          = 50.000000                           {product}\r\n    uintx MinSurvivorRatio                          = 3                                   {product}\r\n    uintx MinTLABSize                               = 2048                                {product}\r\n     intx MonitorBound                              = 0                                   {product}\r\n     bool MonitorInUseLists                         = false                               {product}\r\n     intx MultiArrayExpandLimit                     = 6                                   {C2 product}\r\n     bool MustCallLoadClassInternal                 = false                               {product}\r\n    uintx NUMAChunkResizeWeight                     = 20                                  {product}\r\n    uintx NUMAInterleaveGranularity                 = 2097152                             {product}\r\n    uintx NUMAPageScanRate                          = 256                                 {product}\r\n    uintx NUMASpaceResizeRate                       = 1073741824                          {product}\r\n     bool NUMAStats                                 = false                               {product}\r\n    ccstr NativeMemoryTracking                      = off                                 {product}\r\n     bool NeedsDeoptSuspend                         = false                               {pd product}\r\n     bool NeverActAsServerClassMachine              = false                               {pd product}\r\n     bool NeverTenure                               = false                               {product}\r\n    uintx NewRatio                                  = 2                                   {product}\r\n    uintx NewSize                                  := 2097152                             {product}\r\n    uintx NewSizeThreadIncrease                     = 5320                                {pd product}\r\n     intx NmethodSweepActivity                      = 10                                  {product}\r\n     intx NmethodSweepCheckInterval                 = 5                                   {product}\r\n     intx NmethodSweepFraction                      = 16                                  {product}\r\n     intx NodeLimitFudgeFactor                      = 2000                                {C2 product}\r\n    uintx NumberOfGCLogFiles                        = 0                                   {product}\r\n     intx NumberOfLoopInstrToAlign                  = 4                                   {C2 product}\r\n     intx ObjectAlignmentInBytes                    = 8                                   {lp64_product}\r\n    uintx OldPLABSize                               = 1024                                {product}\r\n    uintx OldPLABWeight                             = 50                                  {product}\r\n    uintx OldSize                                  := 4194304                             {product}\r\n     bool OmitStackTraceInFastThrow                 = true                                {product}\r\nccstrlist OnError                                   =                                     {product}\r\nccstrlist OnOutOfMemoryError                        =                                     {product}\r\n     intx OnStackReplacePercentage                  = 140                                 {pd product}\r\n     bool OptimizeFill                              = true                                {C2 product}\r\n     bool OptimizePtrCompare                        = true                                {C2 product}\r\n     bool OptimizeStringConcat                      = true                                {C2 product}\r\n     bool OptoBundling                              = false                               {C2 pd product}\r\n     intx OptoLoopAlignment                         = 16                                  {pd product}\r\n     bool OptoScheduling                            = false                               {C2 pd product}\r\n    uintx PLABWeight                                = 75                                  {product}\r\n     bool PSChunkLargeArrays                        = true                                {product}\r\n     intx ParGCArrayScanChunk                       = 50                                  {product}\r\n    uintx ParGCDesiredObjsFromOverflowList          = 20                                  {product}\r\n     bool ParGCTrimOverflow                         = true                                {product}\r\n     bool ParGCUseLocalOverflow                     = false                               {product}\r\n    uintx ParallelGCBufferWastePct                  = 10                                  {product}\r\n    uintx ParallelGCThreads                         = 8                                   {product}\r\n     bool ParallelGCVerbose                         = false                               {product}\r\n    uintx ParallelOldDeadWoodLimiterMean            = 50                                  {product}\r\n    uintx ParallelOldDeadWoodLimiterStdDev          = 80                                  {product}\r\n     bool ParallelRefProcBalancingEnabled           = true                                {product}\r\n     bool ParallelRefProcEnabled                    = false                               {product}\r\n     bool PartialPeelAtUnsignedTests                = true                                {C2 product}\r\n     bool PartialPeelLoop                           = true                                {C2 product}\r\n     intx PartialPeelNewPhiDelta                    = 0                                   {C2 product}\r\n    uintx PausePadding                              = 1                                   {product}\r\n     intx PerBytecodeRecompilationCutoff            = 200                                 {product}\r\n     intx PerBytecodeTrapLimit                      = 4                                   {product}\r\n     intx PerMethodRecompilationCutoff              = 400                                 {product}\r\n     intx PerMethodTrapLimit                        = 100                                 {product}\r\n     bool PerfAllowAtExitRegistration               = false                               {product}\r\n     bool PerfBypassFileSystemCheck                 = false                               {product}\r\n     intx PerfDataMemorySize                        = 32768                               {product}\r\n     intx PerfDataSamplingInterval                  = 50                                  {product}\r\n    ccstr PerfDataSaveFile                          =                                     {product}\r\n     bool PerfDataSaveToFile                        = false                               {product}\r\n     bool PerfDisableSharedMem                      = false                               {product}\r\n     intx PerfMaxStringConstLength                  = 1024                                {product}\r\n     intx PreInflateSpin                            = 10                                  {pd product}\r\n     bool PreferInterpreterNativeStubs              = false                               {pd product}\r\n     intx PrefetchCopyIntervalInBytes               = 576                                 {product}\r\n     intx PrefetchFieldsAhead                       = 1                                   {product}\r\n     intx PrefetchScanIntervalInBytes               = 576                                 {product}\r\n     bool PreserveAllAnnotations                    = false                               {product}\r\n     bool PreserveFramePointer                      = false                               {pd product}\r\n    uintx PretenureSizeThreshold                    = 0                                   {product}\r\n     bool PrintAdaptiveSizePolicy                   = false                               {product}\r\n     bool PrintCMSInitiationStatistics              = false                               {product}\r\n     intx PrintCMSStatistics                        = 0                                   {product}\r\n     bool PrintClassHistogram                       = false                               {manageable}\r\n     bool PrintClassHistogramAfterFullGC            = false                               {manageable}\r\n     bool PrintClassHistogramBeforeFullGC           = false                               {manageable}\r\n     bool PrintCodeCache                            = false                               {product}\r\n     bool PrintCodeCacheOnCompilation               = false                               {product}\r\n     bool PrintCommandLineFlags                     = false                               {product}\r\n     bool PrintCompilation                          = false                               {product}\r\n     bool PrintConcurrentLocks                      = false                               {manageable}\r\n     intx PrintFLSCensus                            = 0                                   {product}\r\n     intx PrintFLSStatistics                        = 0                                   {product}\r\n     bool PrintFlagsFinal                          := true                                {product}\r\n     bool PrintFlagsInitial                         = false                               {product}\r\n     bool PrintGC                                   = false                               {manageable}\r\n     bool PrintGCApplicationConcurrentTime          = false                               {product}\r\n     bool PrintGCApplicationStoppedTime             = false                               {product}\r\n     bool PrintGCCause                              = true                                {product}\r\n     bool PrintGCDateStamps                         = false                               {manageable}\r\n     bool PrintGCDetails                            = false                               {manageable}\r\n     bool PrintGCID                                 = false                               {manageable}\r\n     bool PrintGCTaskTimeStamps                     = false                               {product}\r\n     bool PrintGCTimeStamps                         = false                               {manageable}\r\n     bool PrintHeapAtGC                             = false                               {product rw}\r\n     bool PrintHeapAtGCExtended                     = false                               {product rw}\r\n     bool PrintHeapAtSIGBREAK                       = true                                {product}\r\n     bool PrintJNIGCStalls                          = false                               {product}\r\n     bool PrintJNIResolving                         = false                               {product}\r\n     bool PrintOldPLAB                              = false                               {product}\r\n     bool PrintOopAddress                           = false                               {product}\r\n     bool PrintPLAB                                 = false                               {product}\r\n     bool PrintParallelOldGCPhaseTimes              = false                               {product}\r\n     bool PrintPromotionFailure                     = false                               {product}\r\n     bool PrintReferenceGC                          = false                               {product}\r\n     bool PrintSafepointStatistics                  = false                               {product}\r\n     intx PrintSafepointStatisticsCount             = 300                                 {product}\r\n     intx PrintSafepointStatisticsTimeout           = -1                                  {product}\r\n     bool PrintSharedArchiveAndExit                 = false                               {product}\r\n     bool PrintSharedDictionary                     = false                               {product}\r\n     bool PrintSharedSpaces                         = false                               {product}\r\n     bool PrintStringDeduplicationStatistics        = false                               {product}\r\n     bool PrintStringTableStatistics                = false                               {product}\r\n     bool PrintTLAB                                 = false                               {product}\r\n     bool PrintTenuringDistribution                 = false                               {product}\r\n     bool PrintTieredEvents                         = false                               {product}\r\n     bool PrintVMOptions                            = false                               {product}\r\n     bool PrintVMQWaitTime                          = false                               {product}\r\n     bool PrintWarnings                             = true                                {product}\r\n    uintx ProcessDistributionStride                 = 4                                   {product}\r\n     bool ProfileInterpreter                        = true                                {pd product}\r\n     bool ProfileIntervals                          = false                               {product}\r\n     intx ProfileIntervalsTicks                     = 100                                 {product}\r\n     intx ProfileMaturityPercentage                 = 20                                  {product}\r\n     bool ProfileVM                                 = false                               {product}\r\n     bool ProfilerPrintByteCodeStatistics           = false                               {product}\r\n     bool ProfilerRecordPC                          = false                               {product}\r\n    uintx PromotedPadding                           = 3                                   {product}\r\n    uintx QueuedAllocationWarningCount              = 0                                   {product}\r\n    uintx RTMRetryCount                             = 5                                   {ARCH product}\r\n     bool RangeCheckElimination                     = true                                {product}\r\n     intx ReadPrefetchInstr                         = 0                                   {ARCH product}\r\n     bool ReassociateInvariants                     = true                                {C2 product}\r\n     bool ReduceBulkZeroing                         = true                                {C2 product}\r\n     bool ReduceFieldZeroing                        = true                                {C2 product}\r\n     bool ReduceInitialCardMarks                    = true                                {C2 product}\r\n     bool ReduceSignalUsage                         = false                               {product}\r\n     intx RefDiscoveryPolicy                        = 0                                   {product}\r\n     bool ReflectionWrapResolutionErrors            = true                                {product}\r\n     bool RegisterFinalizersAtInit                  = true                                {product}\r\n     bool RelaxAccessControlCheck                   = false                               {product}\r\n    ccstr ReplayDataFile                            =                                     {product}\r\n     bool RequireSharedSpaces                       = false                               {product}\r\n    uintx ReservedCodeCacheSize                     = 251658240                           {pd product}\r\n     bool ResizeOldPLAB                             = true                                {product}\r\n     bool ResizePLAB                                = true                                {product}\r\n     bool ResizeTLAB                                = true                                {pd product}\r\n     bool RestoreMXCSROnJNICalls                    = false                               {product}\r\n     bool RestrictContended                         = true                                {product}\r\n     bool RewriteBytecodes                          = true                                {pd product}\r\n     bool RewriteFrequentPairs                      = true                                {pd product}\r\n     intx SafepointPollOffset                       = 256                                 {C1 pd product}\r\n     intx SafepointSpinBeforeYield                  = 2000                                {product}\r\n     bool SafepointTimeout                          = false                               {product}\r\n     intx SafepointTimeoutDelay                     = 10000                               {product}\r\n     bool ScavengeBeforeFullGC                      = true                                {product}\r\n     intx SelfDestructTimer                         = 0                                   {product}\r\n    uintx SharedBaseAddress                         = 0                                   {product}\r\n    ccstr SharedClassListFile                       =                                     {product}\r\n    uintx SharedMiscCodeSize                        = 122880                              {product}\r\n    uintx SharedMiscDataSize                        = 4194304                             {product}\r\n    uintx SharedReadOnlySize                        = 16777216                            {product}\r\n    uintx SharedReadWriteSize                       = 16777216                            {product}\r\n     bool ShowMessageBoxOnError                     = false                               {product}\r\n     intx SoftRefLRUPolicyMSPerMB                   = 1000                                {product}\r\n     bool SpecialEncodeISOArray                     = true                                {C2 product}\r\n     bool SplitIfBlocks                             = true                                {C2 product}\r\n     intx StackRedPages                             = 1                                   {pd product}\r\n     intx StackShadowPages                          = 6                                   {pd product}\r\n     bool StackTraceInThrowable                     = true                                {product}\r\n     intx StackYellowPages                          = 3                                   {pd product}\r\n     bool StartAttachListener                       = false                               {product}\r\n     intx StarvationMonitorInterval                 = 200                                 {product}\r\n     bool StressLdcRewrite                          = false                               {product}\r\n    uintx StringDeduplicationAgeThreshold           = 3                                   {product}\r\n    uintx StringTableSize                           = 60013                               {product}\r\n     bool SuppressFatalErrorMessage                 = false                               {product}\r\n    uintx SurvivorPadding                           = 3                                   {product}\r\n    uintx SurvivorRatio                             = 8                                   {product}\r\n     intx SuspendRetryCount                         = 50                                  {product}\r\n     intx SuspendRetryDelay                         = 5                                   {product}\r\n     intx SyncFlags                                 = 0                                   {product}\r\n    ccstr SyncKnobs                                 =                                     {product}\r\n     intx SyncVerbose                               = 0                                   {product}\r\n    uintx TLABAllocationWeight                      = 35                                  {product}\r\n    uintx TLABRefillWasteFraction                   = 64                                  {product}\r\n    uintx TLABSize                                  = 0                                   {product}\r\n     bool TLABStats                                 = true                                {product}\r\n    uintx TLABWasteIncrement                        = 4                                   {product}\r\n    uintx TLABWasteTargetPercent                    = 1                                   {product}\r\n    uintx TargetPLABWastePct                        = 10                                  {product}\r\n    uintx TargetSurvivorRatio                       = 50                                  {product}\r\n    uintx TenuredGenerationSizeIncrement            = 20                                  {product}\r\n    uintx TenuredGenerationSizeSupplement           = 80                                  {product}\r\n    uintx TenuredGenerationSizeSupplementDecay      = 2                                   {product}\r\n     intx ThreadPriorityPolicy                      = 0                                   {product}\r\n     bool ThreadPriorityVerbose                     = false                               {product}\r\n    uintx ThreadSafetyMargin                        = 52428800                            {product}\r\n     intx ThreadStackSize                           = 0                                   {pd product}\r\n    uintx ThresholdTolerance                        = 10                                  {product}\r\n     intx Tier0BackedgeNotifyFreqLog                = 10                                  {product}\r\n     intx Tier0InvokeNotifyFreqLog                  = 7                                   {product}\r\n     intx Tier0ProfilingStartPercentage             = 200                                 {product}\r\n     intx Tier23InlineeNotifyFreqLog                = 20                                  {product}\r\n     intx Tier2BackEdgeThreshold                    = 0                                   {product}\r\n     intx Tier2BackedgeNotifyFreqLog                = 14                                  {product}\r\n     intx Tier2CompileThreshold                     = 0                                   {product}\r\n     intx Tier2InvokeNotifyFreqLog                  = 11                                  {product}\r\n     intx Tier3BackEdgeThreshold                    = 60000                               {product}\r\n     intx Tier3BackedgeNotifyFreqLog                = 13                                  {product}\r\n     intx Tier3CompileThreshold                     = 2000                                {product}\r\n     intx Tier3DelayOff                             = 2                                   {product}\r\n     intx Tier3DelayOn                              = 5                                   {product}\r\n     intx Tier3InvocationThreshold                  = 200                                 {product}\r\n     intx Tier3InvokeNotifyFreqLog                  = 10                                  {product}\r\n     intx Tier3LoadFeedback                         = 5                                   {product}\r\n     intx Tier3MinInvocationThreshold               = 100                                 {product}\r\n     intx Tier4BackEdgeThreshold                    = 40000                               {product}\r\n     intx Tier4CompileThreshold                     = 15000                               {product}\r\n     intx Tier4InvocationThreshold                  = 5000                                {product}\r\n     intx Tier4LoadFeedback                         = 3                                   {product}\r\n     intx Tier4MinInvocationThreshold               = 600                                 {product}\r\n     bool TieredCompilation                         = true                                {pd product}\r\n     intx TieredCompileTaskTimeout                  = 50                                  {product}\r\n     intx TieredRateUpdateMaxTime                   = 25                                  {product}\r\n     intx TieredRateUpdateMinTime                   = 1                                   {product}\r\n     intx TieredStopAtLevel                         = 4                                   {product}\r\n     bool TimeLinearScan                            = false                               {C1 product}\r\n     bool TraceBiasedLocking                        = false                               {product}\r\n     bool TraceClassLoading                         = false                               {product rw}\r\n     bool TraceClassLoadingPreorder                 = false                               {product}\r\n     bool TraceClassPaths                           = false                               {product}\r\n     bool TraceClassResolution                      = false                               {product}\r\n     bool TraceClassUnloading                       = false                               {product rw}\r\n     bool TraceDynamicGCThreads                     = false                               {product}\r\n     bool TraceExceptions                           = false                               {product}\r\n     bool TraceGen0Time                             = false                               {product}\r\n     bool TraceGen1Time                             = false                               {product}\r\n    ccstr TraceJVMTI                                =                                     {product}\r\n     bool TraceLoaderConstraints                    = false                               {product rw}\r\n     bool TraceMetadataHumongousAllocation          = false                               {product}\r\n     bool TraceMonitorInflation                     = false                               {product}\r\n     bool TraceParallelOldGCTasks                   = false                               {product}\r\n     intx TraceRedefineClasses                      = 0                                   {product}\r\n     bool TraceSafepointCleanupTime                 = false                               {product}\r\n     bool TraceSharedLookupCache                    = false                               {product}\r\n     bool TraceSuspendWaitFailures                  = false                               {product}\r\n     intx TrackedInitializationLimit                = 50                                  {C2 product}\r\n     bool TransmitErrorReport                       = false                               {product}\r\n     bool TrapBasedNullChecks                       = false                               {pd product}\r\n     bool TrapBasedRangeChecks                      = false                               {C2 pd product}\r\n     intx TypeProfileArgsLimit                      = 2                                   {product}\r\n    uintx TypeProfileLevel                          = 111                                 {pd product}\r\n     intx TypeProfileMajorReceiverPercent           = 90                                  {C2 product}\r\n     intx TypeProfileParmsLimit                     = 2                                   {product}\r\n     intx TypeProfileWidth                          = 2                                   {product}\r\n     intx UnguardOnExecutionViolation               = 0                                   {product}\r\n     bool UnlinkSymbolsALot                         = false                               {product}\r\n     bool Use486InstrsOnly                          = false                               {ARCH product}\r\n     bool UseAES                                    = true                                {product}\r\n     bool UseAESCTRIntrinsics                       = true                                {product}\r\n     bool UseAESIntrinsics                          = true                                {product}\r\n     intx UseAVX                                    = 2                                   {ARCH product}\r\n     bool UseAdaptiveGCBoundary                     = false                               {product}\r\n     bool UseAdaptiveGenerationSizePolicyAtMajorCollection  = true                                {product}\r\n     bool UseAdaptiveGenerationSizePolicyAtMinorCollection  = true                                {product}\r\n     bool UseAdaptiveNUMAChunkSizing                = true                                {product}\r\n     bool UseAdaptiveSizeDecayMajorGCCost           = true                                {product}\r\n     bool UseAdaptiveSizePolicy                     = true                                {product}\r\n     bool UseAdaptiveSizePolicyFootprintGoal        = true                                {product}\r\n     bool UseAdaptiveSizePolicyWithSystemGC         = false                               {product}\r\n     bool UseAddressNop                             = true                                {ARCH product}\r\n     bool UseAltSigs                                = false                               {product}\r\n     bool UseAutoGCSelectPolicy                     = false                               {product}\r\n     bool UseBMI1Instructions                       = true                                {ARCH product}\r\n     bool UseBMI2Instructions                       = true                                {ARCH product}\r\n     bool UseBiasedLocking                          = true                                {product}\r\n     bool UseBimorphicInlining                      = true                                {C2 product}\r\n     bool UseBoundThreads                           = true                                {product}\r\n     bool UseCLMUL                                  = true                                {ARCH product}\r\n     bool UseCMSBestFit                             = true                                {product}\r\n     bool UseCMSCollectionPassing                   = true                                {product}\r\n     bool UseCMSCompactAtFullCollection             = true                                {product}\r\n     bool UseCMSInitiatingOccupancyOnly             = false                               {product}\r\n     bool UseCRC32Intrinsics                        = true                                {product}\r\n     bool UseCodeCacheFlushing                      = true                                {product}\r\n     bool UseCompiler                               = true                                {product}\r\n     bool UseCompilerSafepoints                     = true                                {product}\r\n     bool UseCompressedClassPointers               := true                                {lp64_product}\r\n     bool UseCompressedOops                        := true                                {lp64_product}\r\n     bool UseConcMarkSweepGC                        = false                               {product}\r\n     bool UseCondCardMark                           = false                               {C2 product}\r\n     bool UseCountLeadingZerosInstruction           = true                                {ARCH product}\r\n     bool UseCountTrailingZerosInstruction          = true                                {ARCH product}\r\n     bool UseCountedLoopSafepoints                  = false                               {C2 product}\r\n     bool UseCounterDecay                           = true                                {product}\r\n     bool UseDivMod                                 = true                                {C2 product}\r\n     bool UseDynamicNumberOfGCThreads               = false                               {product}\r\n     bool UseFPUForSpilling                         = true                                {C2 product}\r\n     bool UseFastAccessorMethods                    = false                               {product}\r\n     bool UseFastEmptyMethods                       = false                               {product}\r\n     bool UseFastJNIAccessors                       = true                                {product}\r\n     bool UseFastStosb                              = true                                {ARCH product}\r\n     bool UseG1GC                                   = false                               {product}\r\n     bool UseGCLogFileRotation                      = false                               {product}\r\n     bool UseGCOverheadLimit                        = true                                {product}\r\n     bool UseGCTaskAffinity                         = false                               {product}\r\n     bool UseGHASHIntrinsics                        = true                                {product}\r\n     bool UseHeavyMonitors                          = false                               {product}\r\n     bool UseInlineCaches                           = true                                {product}\r\n     bool UseInterpreter                            = true                                {product}\r\n     bool UseJumpTables                             = true                                {C2 product}\r\n     bool UseLWPSynchronization                     = true                                {product}\r\n     bool UseLargePages                             = false                               {pd product}\r\n     bool UseLargePagesInMetaspace                  = false                               {product}\r\n     bool UseLargePagesIndividualAllocation        := false                               {pd product}\r\n     bool UseLegacyJNINameEscaping                  = false                               {product}\r\n     bool UseLockedTracing                          = false                               {product}\r\n     bool UseLoopCounter                            = true                                {product}\r\n     bool UseLoopInvariantCodeMotion                = true                                {C1 product}\r\n     bool UseLoopPredicate                          = true                                {C2 product}\r\n     bool UseMathExactIntrinsics                    = true                                {C2 product}\r\n     bool UseMaximumCompactionOnSystemGC            = true                                {product}\r\n     bool UseMembar                                 = false                               {pd product}\r\n     bool UseMontgomeryMultiplyIntrinsic            = true                                {C2 product}\r\n     bool UseMontgomerySquareIntrinsic              = true                                {C2 product}\r\n     bool UseMulAddIntrinsic                        = true                                {C2 product}\r\n     bool UseMultiplyToLenIntrinsic                 = true                                {C2 product}\r\n     bool UseNUMA                                   = false                               {product}\r\n     bool UseNUMAInterleaving                       = false                               {product}\r\n     bool UseNewLongLShift                          = false                               {ARCH product}\r\n     bool UseOSErrorReporting                       = false                               {pd product}\r\n     bool UseOldInlining                            = true                                {C2 product}\r\n     bool UseOnStackReplacement                     = true                                {pd product}\r\n     bool UseOnlyInlinedBimorphic                   = true                                {C2 product}\r\n     bool UseOptoBiasInlining                       = true                                {C2 product}\r\n     bool UsePSAdaptiveSurvivorSizePolicy           = true                                {product}\r\n     bool UseParNewGC                               = false                               {product}\r\n     bool UseParallelGC                            := true                                {product}\r\n     bool UseParallelOldGC                          = true                                {product}\r\n     bool UsePerfData                               = true                                {product}\r\n     bool UsePopCountInstruction                    = true                                {product}\r\n     bool UseRDPCForConstantTableBase               = false                               {C2 product}\r\n     bool UseRTMDeopt                               = false                               {ARCH product}\r\n     bool UseRTMLocking                             = false                               {ARCH product}\r\n     bool UseSHA                                    = false                               {product}\r\n     bool UseSHA1Intrinsics                         = false                               {product}\r\n     bool UseSHA256Intrinsics                       = false                               {product}\r\n     bool UseSHA512Intrinsics                       = false                               {product}\r\n     intx UseSSE                                    = 4                                   {product}\r\n     bool UseSSE42Intrinsics                        = true                                {product}\r\n     bool UseSerialGC                               = false                               {product}\r\n     bool UseSharedSpaces                           = false                               {product}\r\n     bool UseSignalChaining                         = true                                {product}\r\n     bool UseSquareToLenIntrinsic                   = true                                {C2 product}\r\n     bool UseStoreImmI16                            = false                               {ARCH product}\r\n     bool UseStringDeduplication                    = false                               {product}\r\n     bool UseSuperWord                              = true                                {C2 product}\r\n     bool UseTLAB                                   = true                                {pd product}\r\n     bool UseThreadPriorities                       = true                                {pd product}\r\n     bool UseTypeProfile                            = true                                {product}\r\n     bool UseTypeSpeculation                        = true                                {C2 product}\r\n     bool UseUTCFileTimestamp                       = true                                {product}\r\n     bool UseUnalignedLoadStores                    = true                                {ARCH product}\r\n     bool UseVMInterruptibleIO                      = false                               {product}\r\n     bool UseXMMForArrayCopy                        = true                                {product}\r\n     bool UseXmmI2D                                 = false                               {ARCH product}\r\n     bool UseXmmI2F                                 = false                               {ARCH product}\r\n     bool UseXmmLoadAndClearUpper                   = true                                {ARCH product}\r\n     bool UseXmmRegToRegMoveAll                     = true                                {ARCH product}\r\n     bool VMThreadHintNoPreempt                     = false                               {product}\r\n     intx VMThreadPriority                          = -1                                  {product}\r\n     intx VMThreadStackSize                         = 0                                   {pd product}\r\n     intx ValueMapInitialSize                       = 11                                  {C1 product}\r\n     intx ValueMapMaxLoopSize                       = 8                                   {C1 product}\r\n     intx ValueSearchLimit                          = 1000                                {C2 product}\r\n     bool VerifyMergedCPBytecodes                   = true                                {product}\r\n     bool VerifySharedSpaces                        = false                               {product}\r\n     intx WorkAroundNPTLTimedWaitHang               = 1                                   {product}\r\n    uintx YoungGenerationSizeIncrement              = 20                                  {product}\r\n    uintx YoungGenerationSizeSupplement             = 80                                  {product}\r\n    uintx YoungGenerationSizeSupplementDecay        = 8                                   {product}\r\n    uintx YoungPLABSize                             = 4096                                {product}\r\n     bool ZeroTLAB                                  = false                               {product}\r\n     intx hashCode                                  = 5                                   {product}\r\nException in thread \"main\" java.lang.OutOfMemoryError: Java heap space\r\n\tat java.util.Arrays.copyOfRange(Arrays.java:3664)\r\n\tat java.lang.String.&lt;init&gt;(String.java:207)\r\n\tat java.lang.StringBuilder.toString(StringBuilder.java:413)\r\n<\/code><\/pre>\n<p>\u6267\u884c\u9009\u9879<\/p>\n<pre class=\"post-pre\"><code>-Xms5m -Xmx5m -XX:+PrintGCDetails\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c<\/p>\n<pre class=\"post-pre\"><code>[GC (Allocation Failure) [PSYoungGen: 1024K-&gt;489K(1536K)] 1024K-&gt;729K(5632K), 0.0008809 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[GC (Allocation Failure) [PSYoungGen: 1360K-&gt;504K(1536K)] 1600K-&gt;1167K(5632K), 0.0005196 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[GC (Allocation Failure) [PSYoungGen: 1324K-&gt;484K(1536K)] 1988K-&gt;1636K(5632K), 0.0007640 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[GC (Allocation Failure) [PSYoungGen: 1144K-&gt;452K(1536K)] 4216K-&gt;3844K(5632K), 0.0005163 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[GC (Allocation Failure) [PSYoungGen: 452K-&gt;440K(1536K)] 3844K-&gt;3832K(5632K), 0.0003319 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[Full GC (Allocation Failure) [PSYoungGen: 440K-&gt;0K(1536K)] [ParOldGen: 3391K-&gt;2744K(4096K)] 3832K-&gt;2744K(5632K), [Metaspace: 2680K-&gt;2680K(1056768K)], 0.0023378 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[GC (Allocation Failure) [PSYoungGen: 20K-&gt;32K(1536K)] 4045K-&gt;4056K(5632K), 0.0004206 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[Full GC (Ergonomics) [PSYoungGen: 32K-&gt;0K(1536K)] [ParOldGen: 4024K-&gt;3384K(4096K)] 4056K-&gt;3384K(5632K), [Metaspace: 2680K-&gt;2680K(1056768K)], 0.0020472 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] \r\n[GC (Allocation Failure) [PSYoungGen: 0K-&gt;0K(1536K)] 3384K-&gt;3384K(5632K), 0.0003944 secs] [Times: user=0.02 sys=0.00, real=0.00 secs] \r\n[Full GC (Allocation Failure) [PSYoungGen: 0K-&gt;0K(1536K)] [ParOldGen: 3384K-&gt;3342K(4096K)] 3384K-&gt;3342K(5632K), [Metaspace: 2680K-&gt;2680K(1056768K)], 0.0050211 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] \r\nException in thread \"main\" java.lang.OutOfMemoryError: Java heap space\r\n\tat java.util.Arrays.copyOfRange(Arrays.java:3664)\r\n\tat java.lang.String.&lt;init&gt;(String.java:207)\r\n\tat java.lang.StringBuilder.toString(StringBuilder.java:413)\r\nHeap\r\n PSYoungGen      total 1536K, used 41K [0x00000000ffe00000, 0x0000000100000000, 0x0000000100000000)\r\n  eden space 1024K, 4% used [0x00000000ffe00000,0x00000000ffe0a470,0x00000000fff00000)\r\n  from space 512K, 0% used [0x00000000fff00000,0x00000000fff00000,0x00000000fff80000)\r\n  to   space 512K, 0% used [0x00000000fff80000,0x00000000fff80000,0x0000000100000000)\r\n ParOldGen       total 4096K, used 3342K [0x00000000ffa00000, 0x00000000ffe00000, 0x00000000ffe00000)\r\n  object space 4096K, 81% used [0x00000000ffa00000,0x00000000ffd43840,0x00000000ffe00000)\r\n Metaspace       used 2713K, capacity 4486K, committed 4864K, reserved 1056768K\r\n  class space    used 287K, capacity 386K, committed 512K, reserved 1048576K\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>&#8211; \u5728\u4e2d\u56fd\u8bed\u8a00\u4e2d\uff0c\u53ea\u9700\u8981\u4e00\u4e2a\u9009\u9879\u6765\u8868\u8ff0\u4ee5\u4e0b\u5185\u5bb9: &#8211; \u5728\u521d\u59cb\u9636\u6bb5\u4e2d\u6253\u5370\u5783\u573e\u56de\u6536\u7684\u8f93\u51fa\u4fe1 [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[227],"class_list":["post-31131","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-227"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879 - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"\u5173\u4e8e\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\u7684\u6280\u672f\u6587\u7ae0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5173\u4e8ejava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\" \/>\n<meta property=\"og:description\" content=\"\u5173\u4e8e\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\u7684\u6280\u672f\u6587\u7ae0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5173\u4e8ejava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-07T16:26:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-12T14:29:10+00:00\" \/>\n<meta name=\"author\" content=\"\u6e05, \u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/\",\"name\":\"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-04-07T16:26:51+00:00\",\"dateModified\":\"2025-08-12T14:29:10+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\"},\"description\":\"\u5173\u4e8e\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\u7684\u6280\u672f\u6587\u7ae0\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\",\"name\":\"\u6e05, \u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879 - Blog - Silicon Cloud","description":"\u5173\u4e8e\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\u7684\u6280\u672f\u6587\u7ae0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5173\u4e8ejava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879","og_description":"\u5173\u4e8e\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\u7684\u6280\u672f\u6587\u7ae0","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5173\u4e8ejava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-04-07T16:26:51+00:00","article_modified_time":"2025-08-12T14:29:10+00:00","author":"\u6e05, \u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u5b87","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/","name":"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-04-07T16:26:51+00:00","dateModified":"2025-08-12T14:29:10+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e"},"description":"\u5173\u4e8e\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879\u7684\u6280\u672f\u6587\u7ae0","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5173\u4e8eJava\u7684\u5783\u573e\u56de\u6536\u9009\u9879"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e","name":"\u6e05, \u5b87","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","caption":"\u6e05, \u5b87"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%85%b3%e4%ba%8ejava%e7%9a%84%e5%9e%83%e5%9c%be%e5%9b%9e%e6%94%b6%e9%80%89%e9%a1%b9\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/31131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=31131"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/31131\/revisions"}],"predecessor-version":[{"id":111876,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/31131\/revisions\/111876"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=31131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=31131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=31131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}