我有一个关于GC根的问题。我看到其中一个GC根是“活动线程”。这是什么意思? 我一直以为每个线程都有自己的堆栈,堆栈中的局部变量是线程的GC根,现在我感到困惑了。除了框架堆栈或本地堆栈上没有的对象引用之外,线程表示还有哪些其他类型的对象引用? 另一个问题是年轻代回收是否使用GC根,还是只用...
我正在编写一个相当标准的堆栈机编译器。现在我想添加垃圾回收器。我可以看到我可以生成某种“堆栈映射”以知道每个激活记录中哪些变量是gc根。然而,我不知道如何处理执行期间推送到堆栈中的中间值。我正在编译的语言类似于Pascal,因此我不需要也不想使用标签来标识指针和其他数据类型。 我会感激任何关...