标签: java garbage-collection jvm
我知道CMS垃圾收集器使用标记扫描算法,我很好奇它是如何标记对象的。
CMS初始标记:为什么它标记可到达的对象而不是标记无法到达的对象?
答案 0 :(得分:1)
垃圾收集器的任务是通过遵循任何访问者步骤链来找到程序无法再访问的对象,并回收它们占用的内存。
Mark-Sweep GC反过来说:它首先找到仍然可以到达的所有对象,然后回收所有其他对象的内存。
简化的Mark-Sweep算法(当然真正的算法要复杂得多):