系统相关
首页 > 系统相关> > 六、内存管理机制

六、内存管理机制

作者:互联网

一 垃圾回收机制GC

# 1.1引用计数
#
# 引用计数增加
# x = 18 # 值18的引用计数为1
# y = x # 把x内存地址给了y # 值18的引用计数为2
# l = [111, x] # 值18的引用计数为3

# print(id(x))
# print(id(y))
# print(id(l[1])) # 都是140707984513328

# 引用计数减少
# del x # 解除绑定关系 值18的引用计数为2
# y = 100 # 值18的引用计数为1
# del l[1] #值18的引用计数为0


# 1.2 分代回收:为了解决引用计数的效率问题
# 问题:个别垃圾有可能得不到及时清理

# 1.3 标记/清除:为了解决循环引用带来的内存泄漏问题
# 核心:一个变量值没有任意一条可以从栈区出发到达自己的引用,就会被标记下来,方便后续清除
# l11 = [66,77[88,99]]
# l1 = [111]
# l2 = [222]
#
# l1.append(l2)
# l2.append(l1)

# print(l1) # l1 = [111的内存地址,l2的内存地址]
# print(l2) # l2 = [222的内存地址,l1的内存地址]

# print(l1[1][1])


标签:18,管理机制,计数,l2,引用,l1,print,内存
来源: https://www.cnblogs.com/mal991019/p/15083688.html