在 Java(以最常见的 HotSpot 虚拟机为例)中,老年代(Old Generation)的垃圾回收和年轻代不同,通常发生频率低,但耗时更长,也更复杂。下面从触发条件、回收算法、常见收集器、流程几个方面说明。
老年代 GC(通常叫 Major GC / Old GC,有时和 Full GC 相关)一般在以下情况触发:
System.gc()(只是“建议”,不保证)老年代对象存活率高,不能使用“复制算法”,常见算法是:
现代老年代 GC 大多基于 标记-整理 或 并发标记 + 整理。
流程:
特点:
如果并发失败 → 退化为 Serial Old(Full GC)
如果你愿意,我可以:
你可以告诉我你的 JDK 版本和使用场景。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。