本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。
1、步骤
(1)收集所有容器对象 ( list , dict , tuple , customClass, ... ) ,引用双向链表;
(2)对于每个容器对象,通过一个变量 gc_refs 记录当前相应的引用计数;
(3)找到每个容器对象引用的容器对象,并计数该容器对象的引用计 -1;
(4)通过步骤 3 之后,如果一个容器对象的引用计数是 0.这意味着这个对象可以回收,肯定是 "循环引用" 导致它活到现在。
2、垃圾回收的周期顺序
0 代 "垃圾回收" 一定次数后,触发 0~1 代回收;
1 代 "垃圾回收" 一定次数后,触发 0~2 代回收。
以上是python垃圾回收的机制过程,希望对大家有所了解所帮助。更多Python学习指导:python基础教程