zoukankan      html  css  js  c++  java
  • python内存管理机制

    首先说内存是如何被创建的:

    python中一切皆对象,一个简单的赋值语句a=1,在内存中开辟了一段内存地址,存储整数1,这个1本身就是一个内存对象。

    同时,创建了一个变量a,这个变量有一个变量指针指向这个内存对象,完成一次引用(reference)。这样就完成了python内存创建的过程。

    那么python的内存是如何被管理的呢?

    一。

    python每一个对象都包含id,value,type。并且每个对象都有自己的头部信息,即引用计数

    当对象被创建,被再次引用,作为容器对象的一个元素,或者作为函数中的一个参数时,这个对象的引用计数+1。

    反之,引用计数-1。

    可以用sys.getrefcount()函数来查看对象的引用计数。

    二。

    当对象的引用计数变为0时,即是对象需要被垃圾回收的时候。python以此方式来释放内存。

    垃圾回收机制又有分代回收,标记清除等规则。对应python中的gc模块。

    三。

    python内存池机制

    python会缓存短的字符串和数字类型的对象。当有变量去引用这些对象的,直接从内存池中取值。这是我对内存池的理解。

    相关文章

    https://www.cnblogs.com/geaozhang/p/7111961.html

  • 相关阅读:
    20210621SMB1协议安全问题
    用Markdown编辑微信公众号
    重温数据结构01 基本概念
    Mac安装HomeBrew
    曲終
    四、10分钟ToPandas_0.24.2
    三、Pandas速查手册中文版
    一、Numpy库与多维数组
    零.注意的细节
    二、Pandas库与数据处理
  • 原文地址:https://www.cnblogs.com/Jupiter1994/p/10641662.html
Copyright © 2011-2022 走看看