黑马程序员技术交流社区
标题:
JAVA的JVM垃圾回收算法问题
[打印本页]
作者:
李春生
时间:
2012-10-30 23:58
标题:
JAVA的JVM垃圾回收算法问题
用引用计数法时,引用计数陷入死循环怎么处理
例如
class
A{
private
B b;
}
class
B{
private
A a;
}
作者:
徐强
时间:
2012-11-1 16:45
import java.util.ArrayList;
import java.util.List;
abstract class Root{
private List<Object> incomingReferenceList = new ArrayList<Object>();
public void addIncomingReferenceObject(Object obj){
if(!incomingReferenceList.contains(obj))
incomingReferenceList.add(obj);
}
public int getReferencedCount(){
return incomingReferenceList.size();
}
}
class A extends Root{
private B b;
public void setB(B b){
this.b = b;
b.addIncomingReferenceObject(this);
}
}
class B extends Root{
private A a;
public void setA(A a){
this.a = a;
a.addIncomingReferenceObject(this);
}
}
复制代码
维护一个反向引用列表就行了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2