zoukankan      html  css  js  c++  java
  • python的垃圾回收机制

    垃圾回收机制(GC)(引用计数为主,隔代回收为辅):

    1、引用计数机制
    引用计数解决不了循环引用问题,如:

    class A():

        pass

    def abc():

        while 1:

            c1 = A()

            c2 = B()

            c1.t = c2

            c2.t = c1

            del c1

            del c2

    abc()

    附:引用计数详解

    一、导致引用计数加1的情况
    1、对象被创建,例如:a=33 (注意:如果只创建对象,不用变量引用,他并不会加一。这里是用a指向33所以才会加1)
    2、对象被引用,例如:b=a
    3、对象被作为参数,传入到一个函数中,例如func(a)
    4、对象作为一个元素,存储在容器中,例如list=[a]

    二、导致引用计数减一的情况
    1、对象的别名被显式销毁,例如del a
    2、对象的别名被赋予新的对象,例如a=23
    3、一个对象离开它的作用域,例如f函数执行完毕时,func函数中的局部变量(全局变量不会)
    4、对象所在容器被销毁,或从容器中删除对象

    2、隔代回收
    解决了循环引用的问题。

  • 相关阅读:
    08Alpha版(内部测试版)发布
    意见汇总
    第一阶段SCRUM
    团队总结
    与学习通app对比分析
    团队第一阶段评价
    第一阶段完成情况说明
    效绩评估 第二阶段
    效绩评估 第一阶段
    软件对比
  • 原文地址:https://www.cnblogs.com/baihualin/p/10345292.html
Copyright © 2011-2022 走看看