垃圾回收機制

  • 引用計數
  • <code>import sys
    # 請在Python解釋器下運行 為 2 創建一次 調用一次

    str1 = 'hello world'
    print(sys.getrefcount(str1))/<code>
    垃圾回收機制

    • 分代技術
    <code>Python默認定義了三代對象集合,索引數越大,對象存活時間越長
    Python中使用了某些啟發式算法(heuristics)來加速垃圾回收。例如,越晚創建的對象更有可能被回收。對象被創建之後,垃圾回收器會分配它們所屬的代(generation)。每個對象都會被分配一個代,而被分配更年輕代的對象是優先被處理的。/<code>
    垃圾回收機制

    • 引用循環
    <code>垃圾回收器會定時尋找這個循環,並將其回收。舉個例子,假設有兩個對象o1和o2,而且符合o1.x == o2和o2.x == o1這兩個條件。如果o1和o2沒有其他代碼引用,那麼它們就不應該繼續存在。但它們的引用計數都是1。/<code>
    垃圾回收機制


    垃圾回收機制


    分享到:


    相關文章: