JAVA虚拟机笔记 ——内存分配与回收策略
- 对象优先在Eden分配
- 大对象直接进入老年代
- 长期存活的对象进入老年代
- 动态对象年龄判断
1.如果Survivor空间中相同年龄大小的对象内存总和大于Survivor空间的一半,年龄大于或等于年龄的对象就可以直接进入老年代,无须等到MaxTenuringThershold指定的年龄。
- 空间担保
在发生Minor GC之前,会进行如下图操作:
注:
风险:回收之前无法明确知道,只能取历次晋升到老年代对象的平均值作为参考。
jdk6 update 34之后HandlePromotionFailure参数不影响虚拟机的分配策略。