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、隔代回收
    解决了循环引用的问题。

  • 相关阅读:
    MVC过滤器
    MVC自带的校验
    FPGA简单概述
    CAN总线扩展数据帧介绍
    简述人工智能发展的先决条件
    CAN总线标准帧
    CAN总线应用
    CAN总线优点
    CAN总线概述
    高速PCB设计注意事项
  • 原文地址:https://www.cnblogs.com/baihualin/p/10345292.html
Copyright © 2011-2022 走看看