新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:python標(biāo)記清除的過程
過程

1、垃圾收集的第一步是通過可收集對(duì)象鏈表,將引用從引用中摘除。
有些container對(duì)象的PyGC_Head.gc.gc_ref還不是0。
2、對(duì)象的外部引用存在,這些對(duì)象是開始標(biāo)記的root object集合。
實(shí)例
首先我們說一下變量的概念: 1 變量名: 不存值,只是指向一個(gè)內(nèi)存地址 2 賦值符號(hào) 3 變量值: 這里才是存放數(shù)據(jù)的地方 變量我們是存在內(nèi)存當(dāng)中的,變量名存放的地方棧, 變量值放的地方是堆 我們只能操控堆,也就是變量值,不能操控變量名存放的地方 比如: x = 1 x = 2 x最終等于了2 , 因?yàn)閤指向的內(nèi)存地址改變了 我們都是通過變量名去訪問值,它會(huì)有一個(gè)標(biāo)記的過程,存在于棧區(qū)的對(duì)象叫做GC Roots對(duì)象 它會(huì)掃描棧區(qū)(變量名)里所有的內(nèi)容,將所有棧區(qū)里的對(duì)象直接或間接訪問的對(duì)象標(biāo)記為存活對(duì)象,其余的都為非存活,應(yīng)該被清除 比如: l1 = [1] l2 = [2] l1.append(l2) l2.append(l1) del l1 del l2 什么是GC Roots可達(dá)的對(duì)象? 通過棧區(qū)(變量名)可到達(dá)(訪問)的對(duì)象,就叫GC Roots可達(dá)的對(duì)象, l1 就是一個(gè)GC Roots,del把l1與指向的內(nèi)存地址給解除了綁定,l1就沒有引用計(jì)數(shù)了
以上就是python標(biāo)記清除的過程,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
網(wǎng)頁(yè)名稱:創(chuàng)新互聯(lián)Python教程:python標(biāo)記清除的過程
本文來源:http://www.dlmjj.cn/article/dpiggje.html


咨詢
建站咨詢
