JVM对象存活判断的方法有哪些?

判断对象存活有两种方法:

1、引用计数

每个对象有一个引用计数器,新增被引用+1,引用释放-1,计数为0时可以回收。

特点:方法简单,无法解决环状引用的问题。

2、可达性分析

当一个对象到GC Roots没有任何引用链相连时,即该对象不可达,可以被回收。

GC Root包括:

(1)虚拟机栈中引用的对象

(2)方法区中静态变量引用的对象

(3)方法区中常量引用的对象

(4)本地方法栈中JNI应用的对象

标签: 引用、区中、栈中、存活、计数、面试
  • 回复
隐藏