1 引用器计数法

如果某个引用被别的引用引用一次,那么引用计数器就加一,引用计数器为 0 时便回收对象。

这种方法有缺陷,如果出现循环引用,那么 GC 便无法回收。

2 可达性分析法

从根引用触发,找得到的对象便是活着的,找不到的对象便已经死亡

根引用有四种:

  1. 虚拟机栈中引用的对象
  2. 方法区中的类静态属性引用的对象
  3. 方法区中的常量引用的对象
  4. 本地方法栈中 JNI(Native 方法)引用的方法