GC Roots

可达性分析算法

可达性分析算法是HOTSPOT VM采用的判断对象是否存活的算法

通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GCRoots没有任何引用链相连的时候,则证明此对象是不可用的。
比如如下,右侧的对象是到GCRoot时不可达的,可以判定为可回收对象。


GC Roots_第1张图片
image.png

在java中,可以作为GCRoot的对象包括以下几种:

  • 虚拟机栈中引用的对象。
  • 方法区中静态属性引用的对象。
  • 方法区中常量引用的对象。
  • 本地方法中JNI引用的对象。

jvm优化—— 图解垃圾回收

你可能感兴趣的:(GC Roots)