概述
标记清除算法, 描述起来很简单, 从名字上就能看出, 分为两个阶段:
标记阶段: 遍历所有对象, 将活动对象都打上标记
清除阶段: 遍历堆, 将没有标记的对象释放掉.
介绍完毕, 本文结束....标记
寻找所有的活动对象, 要从一个起点开始, 根集合(包括栈、常量池等等), 然后一层一层找下去....清除
标记时遍历的是活动对象, 清除阶段呢? 遍历堆. 将堆上所有非活动对象清除....为了解决标记清除算法的问题, 衍生出了位图标记法, BiBOP法 ,延迟清除算法等等个人感觉很鸡肋(好吧, 或许是我未得其精髓).
----
为了解决标记清除的问题, 有衍生出了 标记复制 , 标记整理...算法, 之后再议.