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

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

python中內(nèi)存管理的實(shí)現(xiàn)原理是什么-創(chuàng)新互聯(lián)

這篇文章給大家介紹python 中內(nèi)存管理的實(shí)現(xiàn)原理是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

十載專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設(shè),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對(duì)橡塑保溫等多個(gè)領(lǐng)域,擁有多年的網(wǎng)站運(yùn)維經(jīng)驗(yàn)。

從三個(gè)方面來說,主要有方面的措施:對(duì)象的引用計(jì)數(shù)機(jī)制、垃圾回收機(jī)制、內(nèi)存池機(jī)制。

一、對(duì)象的引用計(jì)數(shù)機(jī)制


Python內(nèi)部使用引用計(jì)數(shù),來保持追蹤內(nèi)存中的對(duì)象,所有對(duì)象都有引用計(jì)數(shù)。

引用計(jì)數(shù)增加的情況:

1、一個(gè)對(duì)象分配一個(gè)新名稱

2、將其放入一個(gè)容器中(如列表、元組或字典)

引用計(jì)數(shù)減少的情況:

1、使用del語句對(duì)對(duì)象別名顯示的銷毀

2、引用超出作用域或被重新賦值

sys.getrefcount( )函數(shù)可以獲得對(duì)象的當(dāng)前引用計(jì)數(shù)

多數(shù)情況下,引用計(jì)數(shù)比你猜測(cè)得要大得多。對(duì)于不可變數(shù)據(jù)(如數(shù)字和字符串),解釋器會(huì)在程序的不同部分共享內(nèi)存,以便節(jié)約內(nèi)存。

二、垃圾回收

1、當(dāng)一個(gè)對(duì)象的引用計(jì)數(shù)歸零時(shí),它將被垃圾收集機(jī)制處理掉。

2、當(dāng)兩個(gè)對(duì)象a和b相互引用時(shí),del語句可以減少a和b的引用計(jì)數(shù),并銷毀用于引用底層對(duì)象的名稱。然而由于每個(gè)對(duì)象都包含一個(gè)對(duì)其他對(duì)象的應(yīng)用,因此引用計(jì)數(shù)不會(huì)歸零,對(duì)象也不會(huì)銷毀。(從而導(dǎo)致內(nèi)存泄露)。為解決這一問題,解釋器會(huì)定期執(zhí)行一個(gè)循環(huán)檢測(cè)器,搜索不可訪問對(duì)象的循環(huán)并刪除它們。

三、內(nèi)存池機(jī)制


Python提供了對(duì)內(nèi)存的垃圾收集機(jī)制,但是它將不用的內(nèi)存放到內(nèi)存池而不是返回給操作系統(tǒng)。

1、Pymalloc機(jī)制。為了加速Python的執(zhí)行效率,Python引入了一個(gè)內(nèi)存池機(jī)制,用于管理對(duì)小塊內(nèi)存的申請(qǐng)和釋放。

2、Python中所有小于256個(gè)字節(jié)的對(duì)象都使用pymalloc實(shí)現(xiàn)的分配器,而大的對(duì)象則使用系統(tǒng)的malloc。

3、對(duì)于Python對(duì)象,如整數(shù),浮點(diǎn)數(shù)和List,都有其獨(dú)立的私有內(nèi)存池,對(duì)象間不共享他們的內(nèi)存池。也就是說如果你分配又釋放了大量的整數(shù),用于緩存這些整數(shù)的內(nèi)存就不能再分配給浮點(diǎn)數(shù)。

關(guān)于python 中內(nèi)存管理的實(shí)現(xiàn)原理是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


名稱欄目:python中內(nèi)存管理的實(shí)現(xiàn)原理是什么-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/dgjssg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部