python的垃圾回收機制 繼承的順序C3算法

Python垃圾回收
    -- 引用計數
        -- Python爲每一個對象維護一個引用計數
        -- 當引用計數爲0的 表明這個對象爲垃圾
    -- 標記清除
        -- 解決孤立的循環引用
        -- 標記根節點和可達對象
        -- 不可達視爲垃圾
    -- 分代回收
        -- 解決標記清除的效率問題
        -- 0代 1代 2代
        -- 閾值 (700,10,10)
        -- 當調用c的接口開闢內存和銷燬內存的差值爲700的時候出發0代回收
        -- 0代觸發10次 觸發1代回收
        -- 1代觸發10次 觸發2代回收
        -- 每次回收結束 沒有被回收的對象放入下一代
參考:http://www.cnblogs.com/Xjng/p/5128269.htmlhtml


PythonMRO c3算法
    -- 找到類的mro的繼承順序
    -- 第一步 找到全部父類的mro
    -- 第二步 用這些父類的mro 跟全部的父類進行歸併
        -- 取每一個表表頭 而且其餘表去掉表頭的部分不能含有咱們要取的那個表頭
        -- 若是不滿走就去取第二個表頭python

參考:http://python.jobbole.com/85685/算法

相關文章
相關標籤/搜索