如何判断对象是否死亡?

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章