91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

      手機(jī)站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

      千鋒教育

      掃一掃進(jìn)入千鋒手機(jī)站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

      當(dāng)前位置:首頁  >  技術(shù)干貨  > Python垃圾回收機(jī)制

      Python垃圾回收機(jī)制

      來源:千鋒教育
      發(fā)布人:xqq
      時(shí)間: 2023-11-08 03:40:01 1699386001

      pythonGC主要使用引用計(jì)數(shù)(referencecounting)來跟蹤和回收垃圾。

      在引用計(jì)數(shù)的基礎(chǔ)上,通過“標(biāo)記-清除”(markandsweep)解決容器對象可能產(chǎn)生的循環(huán)引用問題,通過“分代回收”(generationcollection)以空間換時(shí)間的方法提高垃圾回收效率。

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

      PyObject是每個(gè)對象必有的內(nèi)容,其中ob_refcnt就是做為引用計(jì)數(shù)。當(dāng)一個(gè)對象有新的引用時(shí),它的ob_refcnt就會(huì)增加,當(dāng)引用它的對象被刪除,它的ob_refcnt就會(huì)減少.引用計(jì)數(shù)為0時(shí),該對象生命就結(jié)束了。

      >>

      優(yōu)點(diǎn):

      簡單

      實(shí)時(shí)性

      缺點(diǎn):

      維護(hù)引用計(jì)數(shù)消耗資源

      循環(huán)引用

      2標(biāo)記-清除機(jī)制

      基本思路是先按需分配,等到?jīng)]有空閑內(nèi)存的時(shí)候從寄存器和程序棧上的引用出發(fā),遍歷以對象為節(jié)點(diǎn)、以引用為邊構(gòu)成的圖,把所有可以訪問到的對象打上標(biāo)記,然后清掃一遍內(nèi)存空間,把所有沒標(biāo)記的對象釋放。

      3分代技術(shù)

      分代回收的整體思想是:將系統(tǒng)中的所有內(nèi)存塊根據(jù)其存活時(shí)間劃分為不同的集合,每個(gè)集合就成為一個(gè)“代”,垃圾收集頻率隨著“代”的存活時(shí)間的增大而減小,存活時(shí)間通常利用經(jīng)過幾次垃圾回收來度量。

      Python默認(rèn)定義了三代對象集合,索引數(shù)越大,對象存活時(shí)間越長。

      舉例:當(dāng)某些內(nèi)存塊M經(jīng)過了3次垃圾收集的清洗之后還存活時(shí),我們就將內(nèi)存塊M劃到一個(gè)集合A中去,而新分配的內(nèi)存都劃分到集合B中去。當(dāng)垃圾收集開始工作時(shí),大多數(shù)情況都只對集合B進(jìn)行垃圾回收,而對集合A進(jìn)行垃圾回收要隔相當(dāng)長一段時(shí)間后才進(jìn)行,這就使得垃圾收集機(jī)制需要處理的內(nèi)存少了,效率自然就提高了。在這個(gè)過程中,集合B中的某些內(nèi)存塊由于存活時(shí)間長而會(huì)被轉(zhuǎn)移到集合A中,當(dāng)然,集合A中實(shí)際上也存在一些垃圾,這些垃圾的回收會(huì)因?yàn)檫@種分代的機(jī)制而被延遲。

      以上內(nèi)容為大家介紹了Python垃圾回收機(jī)制,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
      請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
      免費(fèi)領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學(xué) 138****2860 剛剛成功領(lǐng)取
      王同學(xué) 131****2015 剛剛成功領(lǐng)取
      張同學(xué) 133****4652 剛剛成功領(lǐng)取
      李同學(xué) 135****8607 剛剛成功領(lǐng)取
      楊同學(xué) 132****5667 剛剛成功領(lǐng)取
      岳同學(xué) 134****6652 剛剛成功領(lǐng)取
      梁同學(xué) 157****2950 剛剛成功領(lǐng)取
      劉同學(xué) 189****1015 剛剛成功領(lǐng)取
      張同學(xué) 155****4678 剛剛成功領(lǐng)取
      鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
      董同學(xué) 138****2867 剛剛成功領(lǐng)取
      周同學(xué) 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT