**
一、引用计数器
在Python中创建name为Nick,age为20这两个变量,会被记录到refchain 这个链表中。
在refchain每个对象中都有一个ob_refcnt(引用计数器)。
通过getrefcount方法可以查看对象的引用计数的个数,由于作为getrefcount这个函数的参数,所以计数会+1.
import sys
name = "Nick"
age = 22
print(sys.getrefcount(name))# 2
print(sys.getrefcount(age)) # 2
import sys
name = "Nick"
age = 22
# age的引用计数器加一
count = age
print(sys.getrefcount(name))# 2
print(sys.getrefcount(age)) # 3
当值被多次引用的时候,不会被重复创建,而是引用计数器+1,当对象被销毁时,引用计数器-1。一般来说,当引用计数器为0时,将对象从refchain移除,同时在内存中进行销毁。
二、标记清除
# 循环引用
list_1 = [1,2,3]
list_2 = [1,2,3]
print(sys.get