关于Python的垃圾回收

知识点查漏补缺:Python 内存管理

1. 引用计数法:

  • 原理:每个对象维护一个计数器,当有变量引用它时加一,引用失效时减一,直到为零时即释放内存。
  • 优点:简单和实时
  • 致命伤:循环引用。也就是说,假如A引用了B,B引用了A,那他们的计数就永远不会清零,就会造成内存泄漏。

2. 标记-清除:

  • 原理:为了解决循环引用,它会从根对象开始遍历。
  • 逻辑:能被找到的标记为活动,找不到的,即使互相引用,也被判定为垃圾。

3. 分代回收:

  • 原理:提升效率的策略。Python 将对象分为三代(0, 1, 2)。
  • 逻辑: 刚创建的对象在 0 代。如果一次 GC 后它还活着,就移入 1 代,以此类推。
  • 核心思想: 越老的对象越不容易死。GC 扫描 0 代的频率最高,扫描 2 代的频率最低,从而减少性能开销。
相关推荐
渣渣苏2 小时前
Langchain实战快速入门
人工智能·python·langchain
lili-felicity3 小时前
CANN模型量化详解:从FP32到INT8的精度与性能平衡
人工智能·python
数据知道3 小时前
PostgreSQL实战:详解如何用Python优雅地从PG中存取处理JSON
python·postgresql·json
ZH15455891313 小时前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同7653 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子3 小时前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
白日做梦Q3 小时前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
喵手3 小时前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手4 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集
熊猫_豆豆4 小时前
YOLOP车道检测
人工智能·python·算法