主頁 > 深入Python記憶體回收機制(Garbage Collection) > 標記清除演算法(Mark and Sweep)與分代機制
引用計數的問題
上一篇已經介紹了CPython最主要的記憶體回收機制,大多數用不到的物件都可以藉由引用技術機制回收,但為什麼說是大部分而不是全部呢?那是因為一旦遇到循環引用(reference cycles)的情況,就會導致物件引用數量永不為0,造成引用計數無法進行垃圾回收,簡單舉個例子吧:
import gc
a = []
a.append(a)
del a