2026-03-30
pyhton
00

目录

python 回收机制

python 回收机制

  • 引用计数
    • 每个对象维护一个 ob_refcnt 字段。每当对象被引用时计数加 1,引用失效时减 1。
  • 标记清楚
    • 寻找根对象:从全局变量、调用栈等根集合出发。
    • 标记:遍历所有可达对象并打上标记。
    • 清除:遍历内存中所有对象,将没有标记(不可达)的对象销毁。
  • 分代回收
    • 将内存对象分为三代(0代、1代、2代)。
    • 0代:新创建的对象。
    • 1代:在一次 GC 中幸存的对象。
    • 2代:多次 GC 后依然存活的常驻对象。
    • 策略:存活时间越久的对象越不可能是垃圾。因此,0代回收最频繁,2代回收频率最低。当某一代的对象数量达到预设阈值(Threshold)时,触发该代及更年轻代的回收。

本文作者:曹子昂

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!