一、标记阶段概念:
二、JVM中是怎么判断一个对象死亡的呢?
简单的说,当一个对象已经不再被任何的存活的对象继续引用时,就可以宣判已经死亡了。
三、判断对象存活一般有两种方式:
(1)引用计数算法
(2)可达性分析算法、
四、引用计数器算法:
五、引用计数器算法的优缺点:
循环引用eg:
六、举例说明java并没有使用引用计数算法:
代码:
图解:
没进行GC前 内存情况:
显示进行GC后 内存情况:
发现obj1和obj2 对象被回收了
结论:java并没有使用引用计数算法
七、小结: