python基础03——垃圾回收机制
垃圾回收机制(面试常见题) 存在意义: 解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉 什么样的变量值是没有用的呢? 变量值需要绑定直接引用or间接引用,当变量值不再绑定任何引用时,则无法访问该变量值,此变量值就是没有用的,应当被回收 什么是垃圾回收机制? 垃圾回收机制(简称GC)是Python解释器自带一种机,专门用来回收不可用的变量值所占用的内存空间 为什么要用垃圾回收机制? 程序运行过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存使用殆尽(内存溢出),导致程序崩溃,因此管理内存是一件重要且繁杂的事情,而python解释器自带的垃圾回收机制把程序员从繁杂的内存管理中解放出来。 垃圾回收机制原理分析 Python的GC模块主要运用了 “引用计数” (reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过 “标记-清除” (mark and sweep)解决容器对象可能产生的循环引用的问题,并且通过 “分代回收” (generation collection)以空间换取时间的方式来进一步提高垃圾回收的效率。 什么是引用计数? 引用计数就是:变量值被变量名关联的次数