编程语言
首页 > 编程语言> > Java中如何判断对象存活

Java中如何判断对象存活

作者:互联网

1.引用计数法

给对象添加一个计数器,如果被引用则计数器加一;如果引用释放,计数器减一。当计数器为零时,代表该对象没有被引用那就需要回收了。如果两个对象互相引用怎么办?比如A引用了B,B又引用了A,A.reference=B;B.reference=A,那就无法释放。因此该算法未被采用。

2.可达性分析

从GCRoots对象出发,向下查找对象,查找的路径叫引用链,如果查找的对象到GCRoots没有任何引用链,那该对象是不可用的就可以被回收。

 

 如图,Object4到GCRoots不存在引用链,故不可用,需要回收。

标签:Java,reference,对象,GCRoots,存活,计数器,查找,引用
来源: https://www.cnblogs.com/blog-java-jyf/p/12010258.html