1、引用计数法
在Java中,引用和对象时有关联的。如果要操作对象则必须引用进行,因此,很显然一个简单的方法是通过引用计数来判断一个对象是否可以回收。简单的说,即一个对象如果没有任何与之关联的引用,即引用计数都不为0,则说明对象不太可能再被用到,那么这个对象就是可回收对象。
2、可达性分析
为了解决引用计数法的循环引用问题,Java使用了可达性分析的方法。通过一系列的“GC roots”对象作为起点搜索。如果在“GC roots”和一个对象之间没有可达路径,则称该对象不可达的。要注意的是,不可达对象不等价于可回收对象,不可达对象变为回收对象至少要经过两次标记过程。两次标记后仍然是可回收对象,则将面临回收。
标签:Java,对象,可回收,计数法,如何,确定,垃圾,可达性,引用 From: https://blog.51cto.com/u_11315052/6042170