Java Garbage集合,将引用设置为null

onl*_*man 2 java garbage-collection

public class A{
    A a;

    public static void main(String args[]){
        A b = new A();//new object created, obj1
        b.a = new A();//new object created, obj2
        b = null;
        //line 8
    }
}
Run Code Online (Sandbox Code Playgroud)

当达到第8行时,obj1符合GC的条件.obj2也有资格获得GC吗?

Jef*_*rey 5

您创建的唯一引用obj2是在obj1(b.a = new A();)中.一旦你丢失了对obj1(b = null;)的引用,你也失去了obj2对它的引用,所以是的,它有资格获得GC.