这里能说的很多。你应该提到下面几个主要的点:

  • Python在内存中存储了每个对象的引用计数(reference count)。如果计数值变成0,那么相应的对象就会小时,分配给该对象的内存就会释放出来用作他用。
  • 偶尔也会出现引用循环(reference cycle)。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1o2,而且符合o1.x == o2o2.x == o1这两个条件。如果o1o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。
  • Python中使用了某些启发式算法(heuristics)来加速垃圾回收。例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。

    本文首发于Python黑洞网,博客园同步更新

最新文章

  1. java笔记——Java关键字static、final使用小结
  2. 2016 长春东北赛---Coconuts(离散化+DFS)
  3. 安装新版xampp后apache无法启动提示:Apache Service detected with wrong path解决方案
  4. Golang哲学思想
  5. Oracle 11gR2 RAC Votedisk and OCR Diskgroup Recovery
  6. 对于php-fpm和cgi,还有并发响应的理解
  7. Linux CentOs集群LVS+Keepalived负载均衡的实现
  8. NSTimer 不工作 不调用方法
  9. PHP安装过程中问题详解
  10. NOIP2012疫情控制(二分答案+树上贪心)
  11. javascript: 类、方法、原型
  12. 图片缩放PhoneView
  13. SQL Server -- 随笔
  14. Cocos2d-x游戏导出android工程,提取cocos的so文件
  15. Zabbix 3.0 for Ubuntu 14.04 LTS 安装
  16. servlet的生命周期详解
  17. HDU 1009 FatMouse' Trade(简单贪心)
  18. Oracle 11g行字段拼接WMSYS.WM_CONCAT问题Not A LOB
  19. angular js自定义service的简单示例
  20. SpringMVC06Exception 异常处理

热门文章

  1. Vue PC端图片预览插件
  2. 将ibatis迁移到mybatis3的过程记录
  3. java this关键字的用法
  4. vue-ivew input 框 回车搜索功能
  5. MySQL数据库INNODB 表损坏修复处理过程
  6. shell脚本学习 (9) 提取开头或结尾的几行
  7. 谷歌已经对Android的开源严防死守
  8. StrictMode 严格模式
  9. UOJ 418 【集训队作业2018】三角形——思路+线段树合并
  10. cordova打包apk流程