Java中判断对象是否存活算法之可达性分析算法

时间:2022-12-27 12:20:07

可达性分析算法:通过一系列被称为“GC Roots”的对象作为起始点,从这些节点向下搜索,搜索走过的路径被称为引用链,当一个对象到GC Roots没有引用链存在时,就可以判定该对象不可用。

可以作为GC Roots的对象可以分为如下几种:

①虚拟机栈中的引用对象。

②方法区中静态属性的引用的对象。

③方法区中常量引用的对象。

④本地方法栈中JNI(即Native方法)引用的对象。