可达分析算法:
相对于引用计数算法而言,可达性分析算法不仅同样具备实现简单和执行高效等特点,更重要的是该算法
可以有效地** 解决在引用计数算法中循环引用的问题,防止内存泄漏的发生**
所谓GCRoots根集合就是一组必须活跃的引用:
在Java语言中,GCRoots包含以下几类元素:
除了这些固定的GCRoots集合以外,根据用户所选用的垃圾收集器以及当前回收的内存区域不同,还可以有其他对象临时性加入,共同构成完整GCRoots集合,比如 分代收集和局部回收
小技巧:
由于Root,采用栈方式存放变量和指针,所以如果一个指针,它保留了堆内存里面的对象,但是自己又不存放在堆内存里面,那它就是一个Root。