python笔记题带答案.pptxVIP

  • 3
  • 0
  • 约小于1千字
  • 约 10页
  • 2021-01-19 发布于广东
  • 举报
1.Python 是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python 内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。 引用计数增加的情况: 1,一个对象分配一个新名称 2,将其放入一个容器中(如列表、元组或字典) 引用计数减少的情况: 1,使用del 语句对对象别名显示的销毁 2,引用超出作用域或被重新赋值 sys.getrefcount( )函数可以获得对象的当前引用计数 多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串), 解释器会在程序的不同部分共享内存,以便节约内存。 二、垃圾回收 1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。 2,当两个对象 a 和 b 相互引用时,del 语句可以减少 a 和 b 的引用计数,并销 毁用于引用底层对象的名称。然而由于每个对象都包含一个对其他对象的应用, 因此引用计数不会归零,对象也不会销毁。(从而导致内存泄露)。为解决这一 问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。 三、内存池机制 Python 提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是 返回给操作系统。 1,Pymalloc 机制。为了加速Python 的执行效率,Python 引入了一个内存池机 制,

文档评论(0)

1亿VIP精品文档

相关文档