Python特殊机制之垃圾回收机制

发布时间 2023-12-06 14:47:21作者: Lea4ning

垃圾回收机制

【1】参考博客:

【5.0】Python基础之垃圾回收机制 - Chimengmeng - 博客园 (cnblogs.com)

【2】博客摘要

  • 垃圾回收机制作为python解释器自带的一种功能,其目的在于帮助系统更好的管理内存,提高程序的运行效率

    • 垃圾回收机制,用来回收不可用的变量值所占用的内存空间(在内存中,没有变量名指向的数据都是垃圾数据)

    • 垃圾回收机制,引用计数为主,垃圾回收、分代回收为辅。

  • Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。

    • 在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题,并且通过“分代回收”(generation collection)以空间换取时间的方式来进一步提高垃圾回收的效率。
  • 一个变量值可以有多个变量名指向,有一个变量名指向,引用计数就是1,有两个就是2

    • 只要引用计数不为0,这个变量值就不是垃圾数据,当引用计数为0了,说明这个变量值就没用了,就可以清除了
一个变量名只能指向一个内存空间: 意味着一个变量名在某一时刻只能代表一个值。当你给一个变量赋新值时,它将指向新的内存空间,不再指向之前的。

一个内存空间可以被多个变量名指向: 多个变量名可以同时指向相同的内存空间。这意味着如果你改变了这个内存空间的值,所有指向它的变量都会受到影响。
  • 较为复杂的底层机制,个人认为知晓操作逻辑即可