Python中的垃圾回收机制 | Python,, -- pyt


    -- python垃圾回收机制        # Python的GC模块(GarbageCollection)-- 垃圾回收模块        # 主要运用了引用计数来跟踪回收垃圾;        1.引用计数;            # 对象被创建或者复制,引用计数加1;--> __init__            # 对象引用被销毁,引用计数减1; --> __del__            # 对象就没有再被使用,释放其内存;            1.优点:实时性,任何内存一旦没有引用指向就会立刻被回收;            2.缺点:a.维护引用计数的额外操作,跟运行中内存分配,释放,引用赋值成正比,效率低;                    b.造成循环引用,对象之间相互引用,内存始终没有被释放;                        如:a = list()                            b = list()                            a.append(b)                            b.append(a)                            print(a)                            print(b)                            >>[[[...]]]                            >>[[[...]]]        2.标记-清除            # 通过**检测方法(看不懂),将对象分成可达和不可达两部分,分别被保留或回收;            # 底层采用的是链表将这些集合的对象连接在一起;            # 缺点:过程效率不高;        3.分代回收            # 根据内存块存活时间,定义三代对象集合,存活的越久,越减少对它的垃圾收集频率;            # 也就是说,对象经过垃圾收集次数越多,说明其存活的时间越长;

Python中的垃圾回收机制 | Python

评论关闭