关于JAVA GC垃圾回收机制的疑问
对象A中有两个B类型的成员变量
class A{
B b1;
B b2;
}
A a1=new A();
A a2=new A();
a2.b1=a1.b1
a1=null;
这样 a1 和 a2中的b1都指向同一块内存
gc的时候,a1所占用的内存,此时a1所占用的内存b1还被引用,这样a1所占用的内存会释放掉吗。是不是只释放b2,b1不释放,还是整个a1的内存都不能释放?
发布时间: 2013-07-01 12:33:04 作者: rapoo
关于JAVA GC垃圾回收机制的疑问
对象A中有两个B类型的成员变量
class A{
B b1;
B b2;
}
A a1=new A();
A a2=new A();
a2.b1=a1.b1
a1=null;
这样 a1 和 a2中的b1都指向同一块内存
gc的时候,a1所占用的内存,此时a1所占用的内存b1还被引用,这样a1所占用的内存会释放掉吗。是不是只释放b2,b1不释放,还是整个a1的内存都不能释放?