有人可以向我解释一下,当引用计数大于 0 并且几乎无法访问时,Java 垃圾收集器如何意识到这些内存块(如红色区域所示)是垃圾?
最佳答案
有一组“根对象”被认为是始终可访问的:例如,线程引用、静态变量、类引用。如果某个对象无法通过这些根对象的引用链接到达,则认为该对象可用于 GC,即使存在对该对象的一些引用。
关于memory-leaks - 当循环引用的访问路径被破坏时,Java 垃圾收集器如何处理循环引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895618/