JVM怎么判断对象可回收
引用计数法
在对象中添加一个引用计数器每当有一个地方引用它的时候,计数器的值就加一;当引用失效的时,计数器的值就减一;任何时刻计数器为零的对象就是不可能再被使用。但是这种算法不能解决循环引用的问题。
可达性分析算法
通过一系列称为“GC Roots”的根对象作为起始节点集,根据这些节点开始,根据引用开始向下搜索,搜索过程中所走过得路径称为“引用链”(Reference Chain),如果某个对象到“GC Roots”没有任何引用链,则证明这个对象不可能再被使用。
可以作为GC Roots的对象:
在虚拟机
原创
2021-05-25 09:28:49 ·
70 阅读 ·
0 评论