美文网首页
python 垃圾回收机制(GC)

python 垃圾回收机制(GC)

作者: 机械师的呆子 | 来源:发表于2017-11-06 18:56 被阅读0次

    python 中的垃圾回收机制

    Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题。通过“隔代回收”(generation collection)以空间换取时间来进一步提高垃圾回收的效率。

    1、引用计数法(标记清除法)当引用计数为0时,系统将此部分当做垃圾,自动回收

    注:针对相互引用的东西,引用计数法无法使用

    引用计数机制的优点:

    1、简单

    2、实时性:一旦没有引用,内存就直接释放了。不用像其他机制等到特定时机。实时性还带来一个好处:处理回收内存的时间分摊到了平时。

    引用计数机制的缺点:

    1、维护引用计数消耗资源

    2、循环引用

    2、隔代回收法

    隔代回收是一种典型的以空间换时间的技术,这种思想简单点说就是:对象存在时间越长,越可能不是垃圾,应该越少去收集。

    这样的思想,可以减少标记-清除机制所带来的额外操作。隔代就是将回收对象分成数个代,每个代就是一个链表(集合),代进行标记-清除的时间与代内对象存活时间成正比例关系。

    相关文章

      网友评论

          本文标题:python 垃圾回收机制(GC)

          本文链接:https://www.haomeiwen.com/subject/plwkmxtx.html