深入理解JVM学习笔记(二十九、JVM 内存分配----空间分配担保策略)

一、概念

空间分配担保我们在二十六章也提到过,当内存分配过程中内存不够,JVM会向老年代借用内存,这就是内存分配担保策略。内存分配担保策略JVM默认是启用的,我么可以用-XX:HandlePromotionFailure来禁用内存分配担保策略。

开启:-XX:+HandlePromotionFailure

关闭:-XX:-HandlePromotionFailure

二、策略

1、当新生代给老年代提出借用内存时候,老年代首先判断自己有没有足够的空间容纳新生代所有对象,若没有,空间分配担保失败。

2、当1不满足时候,老年代会继续判断自己连续内存空间是否大于历次晋升到老年代对象占用内存的平均大小,若大于平均值则可以继续进行分配担保。

3、当老年代有足够空间时,在检测-XX:HandlePromotionFailure是否开启,当开启的时候开始进行分配担保。

你可能感兴趣的:(JVM)