python垃圾回收机制

不写算法题都差点忘记了程序还有超时及内存泄漏的问题。按说像python这种自带垃圾回收机制的语言应该是不存在内存泄漏的,但是一不小心就被我遇到了。因此重新温习了python的内存回收机制,并查阅了大神博客,在有些情况下python也是会出现内存泄漏的!

python内存回收机制

python的内存回收是对变量使用引用计数策略来实现的,并引入标记-清除和分代收集两种策略来解决循环引用问题。通过周期追踪对引用计数为零或长时间未被访问的变量将进行删除,回收其占用的内存空间。
python内存回收机制图解:
在这里插入图片描述
阈值:被分配对象的计数值与被释放对象的计数值差异

出现内存泄漏的情况

1、C语言开发的底层模块出现内存泄漏;
2、程序中含有全局的list、dict等容器,且有循环操作导致容器不断扩增,也没有在使用完后进行手动删除回收;
3、代码中存在引用循环,导致python内存回收机制无用。

参考博客:
python回收机制:https://www.cnblogs.com/pinganzi/p/6646742.html
python内存泄漏:https://blog.csdn.net/jianhong1990/article/details/9951185

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值