python垃圾回收的機(jī)制過程
本文教程操作環(huán)境:windows7系統(tǒng)、Python3.9.1,DELLG3電腦。
1、步驟
(1)收集所有容器對(duì)象(list,dict,tuple,customClass,...),通過一個(gè)雙向鏈表進(jìn)行引用;
(2)針對(duì)每一個(gè)容器對(duì)象,通過一個(gè)變量gc_refs來記錄當(dāng)前對(duì)應(yīng)的引用計(jì)數(shù);
(3)對(duì)于每個(gè)容器對(duì)象,找到它所引用的容器對(duì)象,并將這個(gè)容器對(duì)象的引用計(jì)數(shù)-1;
(4)經(jīng)過步驟3后,如果一個(gè)容器對(duì)象的引用計(jì)數(shù)為0,就代表這個(gè)對(duì)象可以被回收了,肯定是"循環(huán)引用"才導(dǎo)致它活到現(xiàn)在的。
2、垃圾回收的周期順序
0代"垃圾回收"一定次數(shù)后,觸發(fā)0~1代回收;
1代"垃圾回收"一定次數(shù)后,觸發(fā)0~2代回收。
以上就是python垃圾回收的機(jī)制過程,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。