垃圾回收机制

  • 引用计数
  • <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>
    垃圾回收机制


    垃圾回收机制


    分享到:


    相關文章: