python里回收机制是以引用计数为主,标记-清除和分代收集两种机制为辅。
经过查看相应的资料发现如下
1.python垃圾回收(主要是标记-清楚和分代收集)主要针对的是列表、字典、类等可以当做容器存储的其他对象的,这是为了解决容器型数据结构之间相互循环引用。
2.python垃圾回收对于主动实现 del 方法的类无效,所以编写时记得考虑是否需要自行管理
3.python的分代收集是由链表实现,分为0,1,2代,触发收集的阀值为(700,10,10),每一次触发收集都会回收比他小的代;
如:当1代触发收集,也会对0代进行收集;
触发收集时会把0代链接到1代的链表后面,每个对象的头部都有一个值对它进行标示(判断是属于那个代)(详细请看《python源码解析》最后一章)
参考:
python源码解析 下载地址: https://pan.baidu.com/s/1jIDtx8y
http://blog.csdn.net/yueguanghaidao/article/details/11274737