标记操作和“标记-清除”算法一致,后续操作不只是直接清理对象,而是在清理无用对象完成后让所有存活对象向一端移动,并更新引用其对象的指针,整理阶段会暂停应用(以时间换取空间)。
它的主要缺点:在标记-清除的基础上还需要进行对象的移动,成本相对较高,好处则是不会产生内存碎片。