垃圾回收机制

垃圾回收机制

什么是垃圾回收机制

垃圾回收机制是专门回收没有被变量名绑定的垃圾数据 用来释放空间

引用计数

引用计数就是数据值与变量名之间绑定的次数

 age = 18      #数据值18的引用计数为1
引用计数增加:
    x = age       #数据值18的引用计数为2
    '把age的内存地址给了x,此时age和x都绑定了18 所以18的引用计数为2'
引用计数减少:
    age = 20      #数据值18的引用计数变成1
    '变量名age与数据值18解除绑定,再与20绑定,所以数据值18的引用计数从2变成了1'
    del x         #数据值18的引用计数变成0
    '解除变量名m的绑定关系,所以数据值18没有变量名绑定,引用计数就从1变成了0'qw

img

引用计数:当数据值身上的引用计数为0时 就会被当成垃圾回收机制回收 不为0则不会回收

缺陷:引用计数可能会造成循环引用问题

标记清除

标记清除主要是解决循环引用的问题

​ 哪些情况会使引用计数增加:

		被变量名绑定时

​		被列表索引和字典k索引时

​ 什么情况下 引用计数会减少

		变量名与数据值解除绑定时

​		索引的列表或字典被回收时

引用计数来解决垃圾问题是有隐患的 >> 循环问题

# 看以下一段程序
l1 = ['a']  # 两变量分别绑定了一个列表
l2 = ['b']  # 两个不同的列表分别引用计数为1
l1.append(l2)  # l1 = ['a', l2]  列表2的引用计数加为2
l2.append(l1)  # l2 = ['b', l1]  列表1的引用计数加为2
del l1  # l1变量断开,列表1引用计数-1
del l2  # l2变量断开,列表2引用计数-1

img

我们可以发现 最终内存中的数据值已经没有变量绑定了 找不到了 符合垃圾的定义 但是身上还有计数 没有被回收

所以就产生了可一个机制 :

​ 当内存占用达到临界点时 程序就会停止运行 扫描程序中的所有数据值 把产生循环的数据打上标记 最最后统一清除掉 >> 标记清除

分代回收

分代回收一般分为三代:
	新生代 青春代 老年代
    数据值身上的计数越多 越不容易被清除 所以越容易放在下面
    越往下 扫描间隔的时间越长 越在上面扫间隔的时间越短

img

posted @ 2023-01-17 14:29  李李大冒险  阅读(134)  评论(0编辑  收藏  举报
  1. 1 不可撤销
  2. 2 小年兽 程嘉敏
  3. 3 迷人的危险3 FAFA
  4. 4 山楂树之恋 程佳佳
  5. 5 summertime cinnamons / evening cinema
  6. 6 不谓侠(Cover 萧忆情Alex) CRITTY
  7. 7 神武醉相思(翻自 优我女团) 双笙(陈元汐)
  8. 8 空山新雨后 音阙诗听 / 锦零
  9. 9 Wonderful U (Demo Version) AGA
  10. 10 广寒宫 丸子呦
  11. 11 陪我看日出 回音哥
  12. 12 春夏秋冬的你 王宇良
  13. 13 世界が终わるまでは… WANDS
  14. 14 多想在平庸的生活拥抱你 隔壁老樊
  15. 15 千禧 徐秉龙
  16. 16 我的一个道姑朋友 双笙(陈元汐)
  17. 17 大鱼 (Cover 周深) 双笙(陈元汐)
  18. 18 霜雪千年(Cover 洛天依 / 乐正绫) 双笙(陈元汐) / 封茗囧菌
  19. 19 云烟成雨(翻自 房东的猫) 周玥
  20. 20 情深深雨濛濛 杨胖雨
  21. 21 Five Hundred Miles Justin Timberlake / Carey Mulligan / Stark Sands
  22. 22 斑马斑马 房东的猫
  23. 23 See You Again Wiz Khalifa / Charlie Puth
  24. 24 Faded Alan Walker
  25. 25 Natural J.Fla
  26. 26 New Soul Vox Angeli
  27. 27 ハレハレヤ(朗朗晴天)(翻自 v flower) 猫瑾
  28. 28 像鱼 王贰浪
  29. 29 Bye Bye Bye Lovestoned
  30. 30 Blame You 眠 / Lopu$
  31. 31 Believer J.Fla
  32. 32 书信 戴羽彤
  33. 33 柴 鱼 の c a l l i n g【已售】 幸子小姐拜托了
  34. 34 夜空中最亮的星(翻自 逃跑计划) 戴羽彤
  35. 35 慢慢喜欢你 LIve版 戴羽彤
  36. 36 病变 戴羽彤
  37. 37 那女孩对我说 (完整版) Uu
  38. 38 绿色 陈雪凝
  39. 39 月牙湾 LIve版 戴羽彤
像鱼 - 王贰浪
00:00 / 04:45
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 周有才

作曲 : 周有才

这是一首简单的歌

没有什么独特

试着代入我的心事

它那么幼稚

像个顽皮的孩子

多么可笑的心事

只剩我还在坚持

谁能看透我的眼睛

让我能够不再失明

我要记住你的样子

像鱼记住水的拥抱

像云在天空中停靠

夜晚的来到

也不会忘了阳光的温暖

我要忘了你的样子

像鱼忘了海的味道

放下所有梦和烦恼

却放不下回忆的乞讨

多么可笑的心事

只剩我还在坚持

谁能看透我的眼睛

让我能够不再失明

记住你的样子

像鱼记住水的拥抱

像云在天空中停靠

夜晚的来到

也不会忘了阳光的温暖

我要忘了你的样子

像鱼忘了海的味道

放下所有梦和烦恼

却放不下回忆的乞讨

只剩自己就好