转载:

https://www.cnblogs.com/pinganzi/p/6646742.html

简要描述Python的垃圾回收机制(garbage collection)。

答案

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

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

最新文章

  1. yield生成器及字符串的格式化
  2. Access is denied
  3. Hook技术
  4. Windows 10 解决 0x80070021 错误
  5. 在MVC视图的代码块中,直接输出文本,有几种方式?
  6. SQL封装、多态与重载
  7. Yii2.0 查询(CRUD)
  8. 2016年最好的15个Web设计和开发工具
  9. php分页代码实例
  10. linux源代码阅读笔记 高速缓冲区管理
  11. C++学习笔记:不用sizeof判断int类型占用几个字节
  12. 句柄(Handle)
  13. Activity singleInstance启动模式
  14. Delphi下实现全屏快速找图找色
  15. HTML5 WebAudioAPI-实例(二)
  16. 杭电oj 2095 & 异或^符号在C/C++中的使用
  17. python基础——面向过程的编程思想及举例
  18. Educational Codeforces Round 18
  19. SRE_ Google运维解密
  20. springbean的生命周期

热门文章

  1. JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中
  2. __block 双下划线定义block变量可在内部修改其值
  3. Hadoop入门经典:WordCount 分类: A1_HADOOP 2014-08-20 14:43 2514人阅读 评论(0) 收藏
  4. Shuttle ESB(三)——架构模型介绍(2)
  5. 无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满
  6. PathRemoveFileSpec 函数的作用:将路径末尾的文件名和反斜杠去掉(与GetModuleFileName配合)
  7. Tools:downloading and Building EDK II工具篇:安装/使用EDKII源代码获取/编译工具[2.3]
  8. C++ 与 Java 语言对比
  9. 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍
  10. 社会化登录分享-Android SDK的二次封装和使用