如何判断对象应被回收?
作者:互联网
1.如何判断对象应被回收?
- 【引用计数法】
- 系统为对象添加一个计数器,当有新的引用时加1,引用失效时减1。但此方法无法解决两个对象循环引用的问题。
- 【可达性分析法】
- 通过对象的引用链来判断该对象是否需要被回收。
- 通过一系列的GC Roots的对象作为起始点,从这些起节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是不可用的,就需要回收此对象。
2.GC ROOT 对象
- 虚拟机栈中栈桢中的局部变量(也叫局部变量表)中引用的对象
- 方法区中类的静态变量、常量引用的对象
- 本地方法栈中的JNI(native方法)引用的对象
标签:判断,对象,回收,GC,引用,栈中,Roots 来源: https://blog.csdn.net/qq_38011415/article/details/121461238