相关疑难解决方法(0)

Java垃圾收集如何与循环引用一起使用?

根据我的理解,如果没有其他东西"指向"该对象,Java中的垃圾收集会清除一些对象.

我的问题是,如果我们有这样的事情会发生什么:

class Node {
    public object value;
    public Node next;
    public Node(object o, Node n) { value = 0; next = n;}
}

//...some code
{
    Node a = new Node("a", null), 
         b = new Node("b", a), 
         c = new Node("c", b);
    a.next = c;
} //end of scope
//...other code
Run Code Online (Sandbox Code Playgroud)

a,b和c应该是垃圾收集,但它们都被其他对象引用.

Java垃圾收集如何处理这个问题?(或者它只是一个内存消耗?)

java garbage-collection

148
推荐指数
6
解决办法
5万
查看次数

听众作为弱点的利弊

将听众保持为WeakReferences的利弊是什么.

当然,最大的'专业'是:

将侦听器添加为WeakReference意味着侦听器不需要打扰"删除"自身.

更新

对于那些担心只有对象引用的侦听器,为什么有2个方法,addListener()和addWeakRefListener()?

那些不关心去除的人可以使用后者.

java design-patterns weak-references observer-pattern

70
推荐指数
5
解决办法
2万
查看次数