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

    任何对象,当引用计数变为0的时候都会被立刻清除。

    而对象,分为可变对象,和不可变对象,不可变对象有个特点:其内部不包含指向其他对象的引用。而可变对象,比如列表[1,2],他内部包含两个整数对象的引用。也可以说,列表对象[1,2]引用了整数对象1和整数对象2

    所以,根据以上特点,不可变对象不可能产生循环引用。所谓循环引用就是对象a引用了对象b,对象b又引用了对象a。a和b之间就是循环引用

    例如:

    1 a = [1,2]
    2 b = [3,4]
    3 a.append(b)
    4 b.append(a)#到处,a和b的引用计数都是2

    上面的例子很重要,a,b所引用的对象的引用计数均为2,拿a所引用的对象来说来说,他除了被a引用,还被b所引用的对象所引用。

    del a#到此,原来a所引用的对象现在只被b所引用的对象所引用,引用计数为1
    del b #到处,原来b所引用的对象现在只被原来的a所引用的对象所引用,引用计数为1
  • 相关阅读:
    hiveserver2 with kerberos authentication
    python Basic usage
    python Quicksort demo
    Python HeapSort
    mrunit for wordcount demo
    CCDH证书
    Hadoop question list
    Hadoop Yarn core concepts
    Hadoop Resource
    Hadoop could not find or load main class
  • 原文地址:https://www.cnblogs.com/saolv/p/8402957.html
Copyright © 2011-2022 走看看