标签: java garbage-collection gc-roots
在每次垃圾收集的开始,GC线程需要弄清楚根节点集合是什么,即那些位于可达性层次结构顶部的对象。有谁知道这个过程是如何实现的?是否维护了一个列表,并在堆栈帧push / pop上添加/删除了新对象? JVM是否扫描堆栈并确定什么是对象,什么不是(如果是 - 如何?)?另外,在流程期间可用的静态成员会以某种方式添加到列表中吗?
非常感谢任何信息。