From 8292d32af4b1ac51aa5eee92d0b34e1e5e54e3e9 Mon Sep 17 00:00:00 2001 From: roc <38236396+roc-na@users.noreply.github.com> Date: Wed, 7 Apr 2021 20:31:07 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E7=A9=BA=E9=97=B4=E5=88=86=E9=85=8D?= =?UTF-8?q?=E6=8B=85=E4=BF=9D=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/Java 虚拟机.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/notes/Java 虚拟机.md b/notes/Java 虚拟机.md index 01df1073..01c19c3c 100644 --- a/notes/Java 虚拟机.md +++ b/notes/Java 虚拟机.md @@ -424,6 +424,8 @@ G1 把堆划分成多个大小相等的独立区域(Region),新生代和 如果不成立的话虚拟机会查看 HandlePromotionFailure 的值是否允许担保失败,如果允许那么就会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小,如果大于,将尝试着进行一次 Minor GC;如果小于,或者 HandlePromotionFailure 的值不允许冒险,那么就要进行一次 Full GC。 +JDK 6 Update 24 之后,HandlePromotionFailure 参数不会再影响到虚拟机的空间分配担保策略,只要老年代的连续空间大于新生代对象总大小或者历次晋升的平均大小就会进行Minor GC,否则将进行 Full GC。 + ### Full GC 的触发条件 对于 Minor GC,其触发条件非常简单,当 Eden 空间满时,就将触发一次 Minor GC。而 Full GC 则相对复杂,有以下条件: