垃圾回收机制
【1】参考博客:
【5.0】Python基础之垃圾回收机制 - Chimengmeng - 博客园 (cnblogs.com)
【2】博客摘要
-
垃圾回收机制作为python解释器自带的一种功能,其目的在于帮助系统更好的管理内存,提高程序的运行效率
-
垃圾回收机制,用来回收不可用的变量值所占用的内存空间(在内存中,没有变量名指向的数据都是垃圾数据)
-
垃圾回收机制,引用计数为主,垃圾回收、分代回收为辅。
-
-
Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。
- 在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题,并且通过“分代回收”(generation collection)以空间换取时间的方式来进一步提高垃圾回收的效率。
-
一个变量值可以有多个变量名指向,有一个变量名指向,引用计数就是1,有两个就是2
- 只要引用计数不为0,这个变量值就不是垃圾数据,当引用计数为0了,说明这个变量值就没用了,就可以清除了
一个变量名只能指向一个内存空间: 意味着一个变量名在某一时刻只能代表一个值。当你给一个变量赋新值时,它将指向新的内存空间,不再指向之前的。
一个内存空间可以被多个变量名指向: 多个变量名可以同时指向相同的内存空间。这意味着如果你改变了这个内存空间的值,所有指向它的变量都会受到影响。
- 较为复杂的底层机制,个人认为知晓操作逻辑即可