概述
增量式垃圾回收也并不是一个新的回收算法, 而是结合之前算法的一种新的思路.
之前说的各种垃圾回收, 都需要暂停程序, 执行GC, 这就导致在GC执行期间, 程序得不到执行....因此出现了增量式垃圾回收, 它并不会等GC执行完, 才将控制权交回程序, 而是一步一步执行, 跑一点, 再跑一点, 逐步完成垃圾回收, 在程序运行中穿插进行. 极大地降低了GC的最大暂停时间....实现
增量式垃圾回收只是提出了这样的一个概念, 并没有限定如何去实现. 想必也有不同的实现思路吧....当标记阶段结束后, 所有活动对象都是黑色, 垃圾对象则是白色.
此算法就是通过这样, 逐步对对象进行标记....返回$b->son = $d;// GC清除阶段, 将c对象保留, 将d对象回收
这样就出现问题了, 也就是说如果我已经对其进行过标记了, 但它在我标记之后进行了修改, 就会导致清除阶段的对象很可能不是当时的真实情况