循环引用的示例:
public class test{
public static void main(String[]args){
A a = new A();
B b = new B();
a=null;
b=null;
}
}
class A {
public B b;
}
class B {
public A a;
}
GC root 模型:
虽然对象 a 和 对象 b之间有循环引用,但是对象a 和 b都为null,所以没有与之相关的引用,也就和GC root 断开了连接,从而就会被GC 回收掉