一个JVM应用程序在Oracle Hotspot JVM上运行,它使用默认的JVM设置启动,但初始堆大小为100MB,最大堆大小为1GB。
在什么情况下,JVM会决定增加当前的堆大小,而不是尝试进行垃圾回收?
在什么情况下,JVM会决定增加当前的堆大小,而不是尝试进行垃圾回收?
AdaptiveSizePausePolicy
,该策略将选择堆大小以实现最短暂停时间AdaptiveSizeThroughPutPolicy
,该策略将选择堆大小以实现最高吞吐量GCTimeLimit
和GCTimeRatio
,设置应用程序执行所花费的时间在垃圾回收不可能的情况下,占用Heap
的对象数量会增加。
当由于当前进程使用而无法将对象作为垃圾收集时,JVM
需要增加其堆大小以达到最大值,以允许创建新对象。