真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

分析Python3對象垃圾收集機(jī)制-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“分析Python3對象垃圾收集機(jī)制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“分析Python3對象垃圾收集機(jī)制”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到墨玉網(wǎng)站設(shè)計(jì)與墨玉網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請域名、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋墨玉地區(qū)。

概述 GC作為現(xiàn)代編程語言的自動內(nèi)存管理機(jī)制,專注于兩件事:1. 找到內(nèi)存中無用的垃圾資源 2. 清除這些垃圾并把內(nèi)存讓出來給其他對象使用。 在Python中,它在每個(gè)對象中保持了一個(gè)計(jì)數(shù)器,用于記錄指向該對象的的引用的個(gè)數(shù)。一旦這個(gè)計(jì)數(shù)器為0時(shí),則立即回收該對象,對象占用的內(nèi)存空間將被釋放。

引用計(jì)數(shù)

我們可以利用簡單的變量引用和銷毀窺見引用計(jì)數(shù)過程。

增加引用計(jì)數(shù)

增加引用計(jì)數(shù)的方式多種,即對象進(jìn)行引用,那么計(jì)數(shù)器都會+1。

# 創(chuàng)建第一個(gè)引用

a = 3

# 用其他變量名引用

b = a

# 成為一個(gè)容器的對象

L = [1, a]

# 作為參數(shù)傳遞

str(a)

減少引用計(jì)數(shù)

同理,以下是減少引用計(jì)數(shù)的一些方法。

# 一個(gè)本地引用離開了其作用范圍。比如`str()`函數(shù)結(jié)束時(shí)

str(a)

# 對象的別名被顯式銷毀

del a

# 對象的一個(gè)別名被復(fù)制給其他對象

a = 'Python'

# 對象從一個(gè)窗口對象中移除

L.remove(a)

# 窗口對象本身被銷毀

del L

循環(huán)引用問題

什么是循環(huán)引用?A和B相互引用而再沒有外部引用A與B中的任何一個(gè),它們的引用計(jì)數(shù)雖然都為1,但顯然應(yīng)該被回收。

# 一個(gè)本地引用離開了其作用范圍。比如`str()`函數(shù)結(jié)束時(shí)

str(a)

# 對象的別名被顯式銷毀

del a

# 對象的一個(gè)別名被復(fù)制給其他對象

a = 'Python'

# 對象從一個(gè)窗口對象中移除

L.remove(a)

# 窗口對象本身被銷毀

del L

在這個(gè)例子中程序執(zhí)行完del語句后,A、B對象已經(jīng)沒有任何引用指向這兩個(gè)對象,但這兩個(gè)對象卻還各自引用這對象,雖然兩個(gè)對象已經(jīng)被 del 了,即我們不能再使用這兩個(gè)對象,即垃圾對象,但是他們的引用計(jì)數(shù)并沒有減少到零。即根據(jù)引用計(jì)數(shù)機(jī)制,他們并不會被回收,且會一直駐留在內(nèi)存中,造成內(nèi)存泄漏。為了解決對象的循環(huán)引用問題,而Python引入了 標(biāo)記-清除 和 分代回收 兩種GC機(jī)制來解決優(yōu)化此問題。

到此,相信大家對“分析Python3對象垃圾收集機(jī)制”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)頁標(biāo)題:分析Python3對象垃圾收集機(jī)制-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://weahome.cn/article/ggjgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部