有两种方法
1、引用计数算法(不是jvm使用的方法):
概念:给对象添加一个计数器,每当有一个地方引用该对象的时候,计数器的值就加1,当引用失效的时候,计数器的值减1,任何时候都没有引用的时候,计数器的值为0;也就是对象不能在被使用了。
该算法的优点:实现简单、判断效率高,大部分情况是一个好的算法。
致命的缺点:难以解决对象之间相互循环引用的问题。(这也是Java虚拟机不使用它的原因)。
2、可达性分析的方法(JVM使用的方法):
从一序列的称为“GC ROOT”的对象作为起始点,没经过的路径成为引用链,当对象到GC root没有存在引用链,证明该对象不可用啦,(其实这种方法只是判断死的第一个步骤,后面还有一个自救的,如果自救不成功才是真正的死亡)
如何判断对象是否死亡?
最新推荐文章于 2023-03-23 14:35:05 发布