JVM判断对象是否已死方算法

jvm判断对象是否存活的方法:

 引用计数法

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

 引用计数器的缺陷:无法解决相互引用的问题。即A和B两个对象相互引用,初次之外,这两个对象没有任何引用。

 

可达性分析法

主流的商用程序语言的主流实现都是这个,基本思路是:通过各一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到DC Roots没有任何引用链相连接的时候,证明这个对象不可用,可被回收。

你可能感兴趣的:(java,jvm,java)