关于python的内存回收机制:主要通过以下三种方式进行内存回收:
1、引用计数
当一个对象别变量引用时,引用计数+1,当对象不再被一个变量引用时,引用计数-1,当一个对象的变量引用为0则被清除。
2、标记清理
循环引用,其两个对象的引用计数不为0,但是有效引用计算却不存在,故需摘除循环引用,获取有效引用计算。
3、分代回收
当一个内存块在被回收机制三次清理任然存活,则把该内存放入一个集合A中,而新开辟的内存块放置在集合B中,而进行垃圾回收清理时只对集合B进行清理,而对集合A中的的内存块很长时间才进行一次清理,这样就减少了清理验证的过程,优化了性能。
|
|