Python垃圾回收机制垃圾回收机制
数值类型和字符串类型在 Python 中都是不可变的,这意味着你无法修改这个对象的值,每次对变量的修改,实际上是创建一
个新的对象 . Garbage collection(GC垃圾回收) python采用的是引用计数机制为主,标记-清除和分代收集(隔代回收、分代回
收)两种机制为辅的策略
引用计数机制的优点:引用计数机制的优点:
1、简单
2、实时性:一旦没有引用,内存就直接释放了。不用像其他机制等到特定时机。实时性还带来一个好处:处理回收内存的时
间分摊到了平时。
引用计数机制的缺点:引用计数机制的缺点: 维护引用计数消耗资源 循环引用,解决不了
常用函数常用函数
1、gc.set_debug(flags) 设置gc的debug日志,一般设置为gc.DEBUG_LEAK
2、gc.collect([generation]) 显式进行垃圾回收,可以输入参数,0代表只检查零代的对象,1代表检查零,一代的对象,2代表
检查零,一,二代的对象,如果不传参数,执行一个full collection,也就是等于传2。 在python2中返回不可达(unreachable
objects)对象的数目
3、gc.get_threshold() 获取的gc模块中自动执行垃圾回收的频率。
4、gc.set_threshold(threshold0[, threshold1[, threshold2]) 设置自动执行垃圾回收的频率。
5、gc.get_count() 获取当前自动执行垃圾回收的计数器,返回一个长度为3的列表 Python的GC模块主要运用了引用计数来跟
踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”解决容器对象可能产生的循环引用的问题。通过分代回收以空间
换取时间进一步提高垃圾回收的效率。
作者:Ziziyyy
评论0
最新资源