您的位置:首页 > 编程语言 > Python开发

Python中垃圾回收机制

2020-04-02 18:57 459 查看

垃圾回收

  • 引用计数:是一种垃圾收集机制,而且也是一种最直观、最简单的垃圾收集技术。当Python的某个对象的引用计数降为0时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾了。不过如果出现循环引用的话,引用计数机制就不再起有效的作用了。
  • 标记清除:如果两个对象的引用计数都为1,但是仅仅存在他们之间的循环引用,那么这两个对象都是需要被回收的,也就是说,它们的引用计数虽然表现非为0,但实际上有效的引用计数为0。所以先将循环引用摘掉,就会得出这两个对象的有效计数。
  • 分代回收:从前面“标记-清除”这样的垃圾收集机制来看, 这种垃圾收集机制所带来的额外操作实际上与系统中总的内存块的数量是相关的,当需要回收的内存块越多时,垃圾检测带来的额外操作就越多,而垃圾回收带来的额外操作就越少;反之,当需回收的内存块越少时,垃圾检测就将比垃圾回收带来更少的额外操作。

调优手段

  • 手动垃圾回收
  • 调高垃圾回收阈值
  • 避免循环引用(手动循环引用和使用弱引用)
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
Python_mjj 发布了6 篇原创文章 · 获赞 8 · 访问量 357 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: