2017年4月2日
摘要: 分代垃圾回收 理论支持:经验得出——"大部分的对象在生成后马上就变成了垃圾,很少有对象能活得很久"。 分代垃圾回收将刚生成的对象称为新生代,达到一定年龄(进过一次GC即一岁)的对象称为老年代,不同代的对象使用不同回收算法。 新生代对象执行GC称为新生代GC(minor GC)。 新生代对象存活一定次 阅读全文
posted @ 2017-04-02 23:00 suolu 阅读(1755) 评论(0) 推荐(0) 编辑
摘要: 保守式GC 保守式GC指“不能识别指针和非指针的GC”。 1. 不明确的根,寄存器、调用栈。全局变量空间等属于GC root,这些GC均不能识别出是指针还是非指针。 2. 指针的识别,在不明确的根的条件下可以已某种程度的精度来识别指针。 1. 是否被正确对其 2. 是否指向堆 3. 是否指向对象的头 阅读全文
posted @ 2017-04-02 21:17 suolu 阅读(2784) 评论(0) 推荐(0) 编辑
摘要: 基本算法 Mark Compact与Mark Sweep的第一阶段均为标记活跃对象,第二阶段则不同,压缩算法则是将活跃对象逻辑上移到一起。 Lisp2算法 对象头中增加forwarding指针,其用法与复制算法一样。 Lisp2的标记阶段与其他算法一样,其压缩算法则包括以下三个步骤: 设定forwa 阅读全文
posted @ 2017-04-02 00:17 suolu 阅读(1342) 评论(0) 推荐(0) 编辑