可达性分析法
- 图解
从reference出发,指向堆中的1个对象,该对象又指向另一个对象,这就是引用链
没有被reference指向的,或没有被其他对象指向的会被标记为待回收,标记达到指定次数时,则触发垃圾回收机制
- 可达性分析算法的概念(⼜叫跟搜索法)
根搜索算法是从离散数学中的图论引⼊的,程序把所有的引⽤关系看作⼀张图,从⼀个节点GC ROOT开始,寻找对应的引⽤节点,找到这个节点以后,继续寻找这个节点的引⽤节点,
当所有的引⽤节点寻找完毕之后,剩余的节点则被认为是没有被引⽤到的节点,即⽆⽤的节点
- java中可作为GC Root的对象有
虚拟机栈中引⽤的对象(本地变量表)
本地⽅法栈中引⽤的对象
⽅法区中静态属性引⽤的对象
⽅法区中常量引⽤的对象