python標(biāo)記清除的示例分析

這篇文章給大家分享的是有關(guān)python標(biāo)記清除的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、重慶網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。核心團(tuán)隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:鑿毛機(jī)等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致稱贊!

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨立的項目和大型項目。

1、過程

垃圾收集的第一步是通過可收集對象鏈表,將各對象的gc.gc_ref值設(shè)定為ob_refcnt值。

接下來的動作是將引用從引用中摘除。

有些container對象的PyGC_Head.gc.gc_ref還不是0,這意味著這些對象的外部引用存在,這些對象是開始標(biāo)記的root object集合。

2、實例

首先我們說一下變量的概念:
    1 變量名: 不存值,只是指向一個內(nèi)存地址
    2 賦值符號
    3 變量值: 這里才是存放數(shù)據(jù)的地方
變量我們是存在內(nèi)存當(dāng)中的,變量名存放的地方棧, 變量值放的地方是堆
我們只能操控堆,也就是變量值,不能操控變量名存放的地方
比如:  x = 1
       x = 2
       x最終等于了2  , 因為x指向的內(nèi)存地址改變了
我們都是通過變量名去訪問值,它會有一個標(biāo)記的過程,存在于棧區(qū)的對象叫做GC Roots對象
它會掃描棧區(qū)(變量名)里所有的內(nèi)容,將所有棧區(qū)里的對象直接或間接訪問的對象標(biāo)記為存活對象,其余的都為非存活,應(yīng)該被清除
比如: l1 =  [1]
      l2 =  [2]
      l1.append(l2)
      l2.append(l1)
      del l1
      del l2
什么是GC Roots可達(dá)的對象? 通過棧區(qū)(變量名)可到達(dá)(訪問)的對象,就叫GC Roots可達(dá)的對象,
l1 就是一個GC Roots,del把l1與指向的內(nèi)存地址給解除了綁定,l1就沒有引用計數(shù)了

感謝各位的閱讀!關(guān)于“python標(biāo)記清除的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)頁標(biāo)題:python標(biāo)記清除的示例分析
當(dāng)前路徑:http://muchs.cn/article36/phogpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站標(biāo)簽優(yōu)化、品牌網(wǎng)站設(shè)計、網(wǎng)站策劃、云服務(wù)器微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作