缺点:主流的Java虚拟机里面没有选用引用计数算法来管理内存,其中最主要的原因是它很难解决对象之间相互循环引用的问题。
public class ReferenceConuntingGC{
public object instance = null;
peivate static final int _1MB = 1024*1024;
private byte[] bigSize = new [2 * _1MB];
public static void testGC(){
ReferenceConuntingGC objA = new ReferenceConuntingGC();
ReferenceConuntingGC objB = new ReferenceConuntingGC();
objA.instance = objB;
objB.instance = objA;
objA = null;
objB = null;
System.gc();
}
}
上面代码解释了引用计数算法互相循环引用时,应该是不会回收objA,objB的,想问一下哪行代码objA,objB的count加一,
哪行代码objA,objB的count减一?