版权声明:转载 或者复制请标注来源 https://blog.csdn.net/qq_34979346/article/details/83691686
1.垃圾回收机制算法采用的是 引用计数
直接给概念,小伙伴很难理解,我用一个例子保证你get到。
a=[1,2,3] #声明变量后 引用计数 +1
b=a #增加一个引用, 引用计数 +1
c=b #增加一个引用, 引用计数 +1
当我们删除
del a #删除a 这个指针,并引用计数 -1
print(b)
print(a)
打印结果:
[1, 2, 3]
NameError: name 'a' is not defined
当计数器 保存的值为0的时候,
也就是意味着没有任何指针指向这块存储。
垃圾回收开始清除这块没有任何 指针的存储。
2.垃圾回收魔法函数
python 有个魔法函数 del 当回收的时候系统应该如何操作。
看下边例子,比较简单自己体会下,不做解释 :
class A:
def __del__(self):
print("开始回收了")
a=A()
b=a
c=b
del a
del b
del c
打印结果:
开始回收了