有两种方法
1、引用计数算法(不是jvm使用的方法):
概念:给对象添加一个计数器,每当有一个地方引用该对象的时候,计数器的值就加1,当引用失效的时候,计数器的值减1,任何时候都没有引用的时候,计数器的值为0;也就是对象不能在被使用了。
该算法的优点:实现简单、判断效率高,大部分情况是一个好的算法。
致命的缺点:难以解决对象之间相互循环引用的问题。(这也是Java虚拟机不使用它的原因)。
2、可达性分析的方法(JVM使用的方法):
从一序列的称为“GC ROOT”的对象作为起始点,没经过的路径成为引用链,当对象到GC root没有存在引用链,证明该对象不可用啦,(其实这种方法只是判断死的第一个步骤,后面还有一个自救的,如果自救不成功才是真正的死亡)
如何判断对象是否死亡?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
JVM类加载机制入门
踏雪江南
2020-07-08 12:23:41
Java 四种引用类型,强引用、软引用、弱引用、虚引用
雲棲號資訊小哥
2020-08-04 14:40:48
你说你熟悉JVM?那你知道Java对象是如何创建、存储和访问的吗?
雲棲號資訊小哥
2020-07-21 14:49:52
JVM之自定义类加载器入门
踏雪江南
2020-07-08 12:23:41
jvm双亲委派机制之打破双亲委派机制
踏雪江南
2020-07-08 12:23:41
JVM内存N个问题的最全解析
推薦閱讀:爲了阿里巴巴的P7offer,我籌備了半年,四面之後終於成功拿下 面試阿里(P8)竟被MySQL難倒,奮發圖強二次面試斬獲阿里offer 爲面阿里P8,我肝
mrchaochao
2020-07-08 10:00:46
面试,JVM总挂?阿里架构大牛:争气点,“路”都给你指出来了
mrchaochao
2020-07-08 10:00:46
问题解决:遇到tomcat的假死问题,如何排查问题
ldx2
2020-07-08 09:08:50
【Java基础】 JVM、JRE、JDK三者关系
赤澳魚蛋
2020-07-08 07:08:47
简要了解JVM的内存划分
E_Mlls
2020-07-08 03:37:19