在每次垃圾回收开始时,GC 线程需要找出根节点的集合,即位于可达性层次结构顶部的那些对象。有谁知道这个过程是如何实现的?是否维护列表并在堆栈帧推送/弹出时添加/删除新对象?JVM 是否扫描堆栈并找出什么是对象,什么不是(如果是,如何?)?此外,在流程期间可用的静态成员怎么样,它们是否以某种方式被添加到列表中?
非常感谢您提供的任何信息。
在每次垃圾回收开始时,GC 线程需要找出根节点的集合,即位于可达性层次结构顶部的那些对象。有谁知道这个过程是如何实现的?是否维护列表并在堆栈帧推送/弹出时添加/删除新对象?JVM 是否扫描堆栈并找出什么是对象,什么不是(如果是,如何?)?此外,在流程期间可用的静态成员怎么样,它们是否以某种方式被添加到列表中?
非常感谢您提供的任何信息。