JVM垃圾回收之引用计数法

来源:互联网 发布:企业网管软件 编辑:程序博客网 时间:2024/05/17 01:13

引用计数法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。


引用计数法的实现简单,判定效率也很高,在大部分情况下它都是一个不错的算法,也有一些比较著名的案例,但是,至少主流的Java虚拟机里面没有选用引用计数算法来进行内


存管理,其中最主要的原因是它很难解决对象之间的相互循环引用的问题。


如:

   如下图,我们构造了一个列表,我们将最后一个元素的next属性指向第一个元素,即引用第一个元素,从而构成循环引用;这个时候如果我们将列表的头head赋值为null,此时列表的各个元素的计数器都不为0,同时我们也失去了对列表的引用控制,从而导致列表元素不能被回收!




0 0
原创粉丝点击