来源:自学PHP网 时间:2020-09-28 10:18 作者:小飞侠 阅读:次
[导读] 谈谈python垃圾回收机制...
今天带来谈谈python垃圾回收机制教程详解
什么是垃圾回收机制? 首先,咱先来解释名词,垃圾回收是不是就是将没用的,废弃的东西回收起来。 在坐的各位都没有女朋友对吧,那难以想象你们的房间会是一个什么样子,可能会有很多垃圾,很凌乱,自己也不收拾。那当你有了女朋友了就不一样了,她会帮你收拾房间,把没用的垃圾都给你扔掉。 那在我们Python当中的垃圾回收承担的就是女朋友的角色,你们想象一下,你现在有一个轻度强迫症的女朋友一刻不停的跟在你的背后打扫卫生,你一放下脏碟子或者垃圾什么的,就已经帮你清理、打扫了 所以垃圾回收机制就是自动帮助我们管理内存,清理垃圾的一种工具 垃圾回收机制有什么用? 那我们现在先来想一想,我们平时在写程序的时候是不是会定义一些变量名,那这些变量名都是存在哪些地方呢?是不是都是存在内存里面,那当我们一直不停的定义变量是不是就会使我们内存空间的占有率增加,那我们的垃圾回收机制就会将一些没用的名字,没用的垃圾自动的回收起来。 识别垃圾对象,从垃圾对象那里回收内存 怎么进行垃圾回收 1、引用计数 在Python中,大多数对象的生命周期都是通过对象的引用计数来管理的。从广义上来讲,引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。 引用计数的原理: 当一个对象的引用被创建或者复制时,对象的引用计数加1; 循环引用可以使一组对象的引用计数不为0,然而这些对象实际上并没有被任何外部对象所引用,它们之间只是相互引用。 优点: 简单、直观 缺点: 维护引用计数需要消耗一定的资源 2、标记-清除 “标记-清除”是为了解决循环引用的问题。可以包含其他对象引用的容器对象(比如:list,set,dict,class,instance)都可能产生循环引用。 标记-清除原理: “标记-清除”不改动真实的引用计数,而是将 3、分代回收 分代回收原理: 将系统中的所有内存块根据其存活时间划分为不同的集合, 以上就是谈谈python垃圾回收机制的详细内容,更多关于python垃圾回收机制的资料请关注自学php网其它相关文章! 以上就是关于谈谈python垃圾回收机制全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com