简单认识垃圾回收机制
简单认识垃圾回收机制
前言
在有些其他的编程语言中,针对内存空间的操作都是需要程序员自己操作,而在python中,python底层针对空间的申请和释放都是设计好的,不需要程序员操心。
引用计数
在内存空间中,一个数据赋予一个变量时,这个数据身上的标记就会加1,这个标记就是引用计数,而python会清除引用计数为0的数据。
a = 'jason' # 'jason'引用计数+1
b = a # 'jason'引用计数+1
标记清除
当内存空间即将溢出(满了)的时候,python会自动启动应急机制,停止程序的运行,挨个检查值的引用计数并给计数为0的数据打上标记,然后一次性清理掉
分代回收
根据值存在的时间长短,将值划分为三个等级,存在时间越长,等级越高,等级越高检查间隔时间越长。