怎么判断对象是否可以被回收

1. 引用计数法

给对象中添加一个引用计数器

  • 每当有一个地方引用它,计数器就+1.
  • 当引用失效,计数器就减1

  • 任何时候计数器为0的对象不可能再被使用
  • 有问题:不能解决循环引用的问题。

2. 可达性分析算法

  1. 基本思想:通过一系列的称为"GC Roots"的对象作为起点
  2. 从这些节点开始向下搜索,节点所走过的路径称为引用链。
  3. 当一个对象到GC Roots没有任何引用链相连的话
  4. 则证明此对象是不可用的,即可以被回收。
posted @ 2025-05-18 18:48  kuki'  阅读(23)  评论(0)    收藏  举报