91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python控制內存的方法

發布時間:2020-07-10 14:20:32 來源:億速云 閱讀:263 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關python控制內存的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

python控制內存的方法:

一、對象的引用計數機制

二、垃圾回收機制

三、內存池機制 

一、對象的引用計數機制 

Python內部使用引用計數,來保持追蹤內存中的對象,所有對象都有引用計數。 

引用計數增加的情況: 

1、一個對象分配一個新名稱 

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

引用計數減少的情況: 

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

2、引用超出作用域或被重新賦值 sys.getrefcount( )函數可以獲得對象的當前引用計數 

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

二、垃圾回收 

1、當一個對象的引用計數歸零時,它將被垃圾收集機制處理掉。 

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

三、內存池機制 

Python提供了對內存的垃圾收集機制,但是它將不用的內存放到內存池而不是返回給操作系統。 

1、Pymalloc機制。為了加速Python的執行效率,Python引入了一個內存池機制,用于管理對小塊內存的申請和釋放。 

2、Python中所有小于256個字節的對象都使用pymalloc實現的分配器,而大的對象則使用系統的malloc。 

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

關于python控制內存的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邵阳市| 大安市| 阿克陶县| 洪江市| 永寿县| 南阳市| 团风县| 固阳县| 盈江县| 南召县| 毕节市| 白山市| 上高县| 咸宁市| 砚山县| 东乡族自治县| 资溪县| 桐柏县| 若尔盖县| 拉萨市| 天祝| 马公市| 拜泉县| 洞头县| 福州市| 瑞昌市| 西丰县| 临安市| 绥德县| 彭山县| 临夏市| 兴和县| 施甸县| 阳曲县| 炉霍县| 鹰潭市| 新安县| 繁昌县| 资兴市| 大城县| 普洱|