最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python內(nèi)存管理機制原理詳解

 更新時間:2019年08月12日 11:10:17   作者:小白龍i  
這篇文章主要介紹了python內(nèi)存管理機制原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

python內(nèi)存管理機制:

  • 引用計數(shù)
  • 垃圾回收
  • 內(nèi)存池

1. 引用計數(shù)

當(dāng)一個python對象被引用時 其引用計數(shù)增加 1 ; 當(dāng)其不再被變量引用時 引用計數(shù)減 1 ; 當(dāng)對象引用計數(shù)等于 0 時, 對象被刪除(引用計數(shù)是一種非常高效的內(nèi)存管理機制)

2. 垃圾回收

垃圾回收機制: ① 引用計數(shù) , ②標(biāo)記清除 , ③分帶回收

引用計數(shù) :

引用計數(shù)也是一種垃圾收集機制, 而且也是一種最直觀, 最簡單的垃圾收集技術(shù).當(dāng)python某個對象的引用計數(shù)降為 0 時, 說明沒有任何引用指向該對象, 該對象就成為要被回收的垃圾了.(如果出現(xiàn)循環(huán)引用的話, 引用計數(shù)機制就不再起作用了)

標(biāo)記清除 :

如果兩個對象的引用計數(shù)都為 1 , 但是僅僅存在他們之間的循環(huán)引用,那么這兩個對象都是需要被回收的, 也就是說 它們的引用計數(shù)雖然表現(xiàn)為非 0 , 但實際上有效的引用計數(shù)為 0 ,.所以先將循環(huán)引用摘掉, 就會得出這兩個對象的有效計數(shù).

分帶回收 :

從前面“標(biāo)記-清除”這樣的垃圾收集機制來看,這種垃圾收集機制所帶來的額外操作實際上與系統(tǒng)中總的內(nèi)存塊的數(shù)量是相關(guān)的,當(dāng)需要回收的內(nèi)存塊越多時,垃圾檢測帶來的額外操作就越多,而垃圾回收帶來的額外操作就越少;反之,當(dāng)需要回收的內(nèi)存塊越少時,垃圾檢測就將比垃圾回收帶來更少的額外操作。

3.內(nèi)存池

內(nèi)存池機制: python 中分為大內(nèi)存和小內(nèi)存: 256k為界限

大內(nèi)存使用malloc 進行分配

小內(nèi)存使用內(nèi)存池是進行分配

python的內(nèi)存池金字塔:

第3層: 最上層, 用戶對python對象的直接操作

第1層和第2層: 內(nèi)存池, 有python 的 接口函數(shù) PyMen_Malloc 實現(xiàn), 若請求分配的內(nèi)存在1 - 256字節(jié)之間就使用內(nèi)存池進行分配, 調(diào)用malloc 函數(shù)分配內(nèi)存, 但是每次只會分配 256 k 的內(nèi)存. 不會調(diào)用free 函數(shù)釋放內(nèi)層. 將該內(nèi)存塊留在內(nèi)存池中便下次使用

第 0 層: 大內(nèi)存 . 若請求分配的內(nèi)存大于 256 k , malloc函數(shù)分配, free函數(shù)釋放內(nèi)存

第 - 1 -2 層: 操作系統(tǒng)進行操作

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用fork實現(xiàn)守護進程的方法

    python使用fork實現(xiàn)守護進程的方法

    守護進程(Daemon)也稱為精靈進程是一種生存期較長的一種進程。它們獨立于控制終端并且周期性的執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。他們常常在系統(tǒng)引導(dǎo)裝入時啟動,在系統(tǒng)關(guān)閉時終止。
    2017-11-11
  • Python+OpenCV數(shù)字圖像處理之ROI區(qū)域的提取

    Python+OpenCV數(shù)字圖像處理之ROI區(qū)域的提取

    ROI區(qū)域又叫感興趣區(qū)域。在機器視覺、圖像處理中,從被處理的圖像以方框、圓、橢圓、不規(guī)則多邊形等方式勾勒出需要處理的區(qū)域,稱為感興趣區(qū)域,ROI。本文主要為大家介紹如何通過Python+OpenCV提取ROI區(qū)域,需要的朋友可以了解一下
    2021-12-12
  • Python基礎(chǔ)教程之增加和去除數(shù)字的千位分隔符

    Python基礎(chǔ)教程之增加和去除數(shù)字的千位分隔符

    千位分隔符其實就是數(shù)字中的逗號,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之增加和去除數(shù)字的千位分隔符,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Python入門教程(二十五)Python的作用域

    Python入門教程(二十五)Python的作用域

    這篇文章主要介紹了Python入門教程(二十五)Python的作用域,Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • TensorFlow用expand_dim()來增加維度的方法

    TensorFlow用expand_dim()來增加維度的方法

    今天小編就為大家分享一篇TensorFlow用expand_dim()來增加維度的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python開發(fā).exe小工具的詳細步驟

    Python開發(fā).exe小工具的詳細步驟

    這篇文章主要介紹了Python開發(fā).exe小工具的詳細步驟,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • python matplotlib 繪圖 和 dpi對應(yīng)關(guān)系詳解

    python matplotlib 繪圖 和 dpi對應(yīng)關(guān)系詳解

    這篇文章主要介紹了python matplotlib 繪圖 和 dpi對應(yīng)關(guān)系詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python http基本驗證方法

    python http基本驗證方法

    今天小編就為大家分享一篇python http基本驗證方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python SQL查詢并生成json文件操作示例

    Python SQL查詢并生成json文件操作示例

    這篇文章主要介紹了Python SQL查詢并生成json文件操作,涉及Python基于mssqlhelper模塊進行mysql數(shù)據(jù)庫查詢與json格式文件生成相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • ERLANG和PYTHON互通實現(xiàn)過程詳解

    ERLANG和PYTHON互通實現(xiàn)過程詳解

    這篇文章主要介紹了ERLANG和PYTHON互通過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07

最新評論

新郑市| 河间市| 喜德县| 磐安县| 石嘴山市| 哈巴河县| 吴桥县| 高青县| 伊宁市| 时尚| 石景山区| 泗洪县| 郴州市| 阳新县| 鄢陵县| 鸡西市| 邢台市| 石台县| 庆安县| 侯马市| 贵德县| 尉氏县| 桐城市| 阿拉尔市| 大安市| 乐东| 新绛县| 资阳市| 怀化市| 容城县| 伊川县| 苏尼特左旗| 福建省| 攀枝花市| 正镶白旗| 潜江市| 静海县| 峡江县| 高雄县| 翁牛特旗| 安吉县|