我有一个关于GC根的问题。我看到其中一个GC根是“活动线程”。这是什么意思?
我一直以为每个线程都有自己的堆栈,堆栈中的局部变量是线程的GC根,现在我感到困惑了。除了框架堆栈或本地堆栈上没有的对象引用之外,线程表示还有哪些其他类型的对象引用?
另一个问题是年轻代回收是否使用GC根,还是只用于主要的算法?
谢谢
更新: 好的,抱歉,为了简单起见:我读了这篇短文:yourkit.com/docs/java/help/gc_roots.jsp,并且有一个“Thread”选项作为GC根,这意味着什么,线程是一个GC根? Thread GC根引用哪些类型的对象,这些对象不是由其堆栈引用的?为什么这两个类别不同?
Thread
实例是一个GC根,即使在堆栈或静态变量中没有对它的引用。 - Marko Topolnik