为什么他们不需要它们,如果某人决定实施使用它们的VM,他们可能面临哪些问题?
答案 0 :(得分:13)
由于循环引用,引用计数会受到内存泄漏的影响。想象一下,你有一个简单的“节点”对象,它有一个对另一个节点的引用,并假设你设置它自己的引用。即使没有来自全局变量或堆栈变量的句柄,该对象的引用计数也将始终为1,因此它永远不会被垃圾回收并且是泄漏的内存。这是一个简单的例子,但任何循环引用都会遇到同样的问题。
当然,可以检测到周期性参考,但可能这样做的开销增加了其他GC方法更具吸引力的复杂性。
答案 1 :(得分:4)