垃圾回收:pthon解释器对正在使用的对象保持计数,当某个对象的引用计数将为0时,垃圾收集器就可以释放该对象,获取分配的内存。当分配对象和取消分配对象的差值高于或值时垃圾回收才会启动。
分代回收:python将所有的对象分为0,1,2,三代。所有的新建对象都是0代对象,当某一代对象经历过垃圾回收,依然存活,那么它就被归入下一代对象,垃圾回收启动时,一定会扫描所有的0代对象。
如果0代经过一定次数垃圾回收,那么就启动对0代和1代的扫描清理,当1代也经历了一定次数的垃圾回收后,那么会启动对0,1,2,即对所有对象进行扫描。