国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > Python如何进行内存管理?

Python如何进行内存管理?

头像

爱喝马黛茶的安东尼

2021-04-14 15:56:242350浏览 · 0收藏 · 0评论

Python是如何进行内存管理的?

答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制。

一、对象的引用计数机制

Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。

引用计数增加的情况:

1,一个对象分配一个新名称

2,将其放入一个容器中(如列表、元组或字典)

引用计数减少的情况:

1,使用del语句对对象别名显示的销毁

2,引用超出作用域或被重新赋值

Sys.getrefcount( )函数可以获得对象的当前引用计数

多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。

相关推荐:《Python视频教程

二、垃圾回收

1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。

2,当两个对象a和b相互引用时,del语句可以减少a和b的引用计数,并销毁用于引用底层对象的名称。然而由于每个对象都包含一个对其他对象的应用,因此引用计数不会归零,对象也不会销毁。(从而导致内存泄露)。为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。

三、内存池机制

Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。

1,Pymalloc机制。为了加速Python的执行效率,Python引入了一个内存池机制,用于管理对小块内存的申请和释放。

2,Python中所有小于256个字节的对象都使用pymalloc实现的分配器,而大的对象则使用系统的malloc。

3,对于Python对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

免费观看已满十八岁电视剧在线播.| 女子排尿视频大全| 日韩电影| 女儿与爸爸高清免费版电视剧| 夜市| 鲁鲁射击免费播放电视剧全部 | 手撕女生衣服名场面| 把老婆闺蜜干了俩次| 情满九道弯电视剧40集免费观看| 公与媳中文字幕乱码的预防方法 | 入室強暴強焱人妻HD| 人与动物胶配方视频荷尔蒙| 适合做前看的MV| 李丽珍电影经典免费观看| B站未过审的跳舞视频| 机械师| 老师我好爽再深一点老师好涨 | 《被按摩的人妻4》| 家族轮换之共乐的日子最新章节更,| 高清大人LOGO图片清晰大全| 17C·MOC官网| 女士泳衣全透明| 儿媳妇长太漂亮免费观看电视剧| 《丰满的女邻居》播放| 法国《监狱伦理3》| 下面的小嘴又饿了| 陌陌影视在线观看高清完整版| 熟母10和熟母10的区别 | 公么无耻要求中韩双字的意思| XL上司| 手撕女生衣服名场面| 朝桐光| 坤坤寒入桃子里电视剧免费看 | MISSAV| 无人区免费高清版观看| 在线视频| 女性肛交一次肛门多久恢复| 5YY3.CNV7Y7.CC| 下面流乳白色的水的原因| 星空传媒天美传媒有限公司| 初中女生光溜溜身子