判断对象存活有两种方法:
1、引用计数
每个对象有一个引用计数器,新增被引用+1,引用释放-1,计数为0时可以回收。
特点:方法简单,无法解决环状引用的问题。
2、可达性分析
当一个对象到GC Roots没有任何引用链相连时,即该对象不可达,可以被回收。
GC Root包括:
(1)虚拟机栈中引用的对象
(2)方法区中静态变量引用的对象
(3)方法区中常量引用的对象
(4)本地方法栈中JNI应用的对象
浙公网安备 33010602006230号
浙ICP备14015892号