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

    python中的内存管理,从浅层次来说,可以分为3个方面来讲:

    1,引用计数:

      python中引用计数,为了跟踪内存的对象

      当创建对象的时候即被引用了,当对象不再被使用时,即某个对象的引用计数为0,它被垃圾回收。

    2,垃圾回收机制:

      python可以不事先声明变量类型而直接对变量进行赋值,垃圾回收器会去检查哪些计数为0的对象,然后清除其在内存的空间

      还有一种是循环垃圾回收器,存在某种关系(a引用b,b引用a,两个对象循环引用,导致引用计数不为0)

     3,内存池机制:

      在python中每次创建对象时候都会申请小块的内存,这些小块被使用后很快就被释放了,由于这些内存不是为了创建对象,所以并没有对象的一级内存池机制,这导致python在运行的时候会频繁地调用malloc和free操作,频繁的在用户态和核心态切换,使得程序效率变得低下,所以就引入内存池机制,来管理小块内存的申请和释放。

  • 相关阅读:
    ThreadPoolExecutor线程池和ProcessPoolExecutor进程池
    canvas画一个时钟
    js中一些注意点 ps不断更新中....
    javascript文档节点
    Go网络编程
    Goroutine和Channel
    Go单元测试
    简单了解Go语言JSON包
    Go的命令行参数
    Go语言文件操作
  • 原文地址:https://www.cnblogs.com/zhuyafeng/p/9508673.html
Copyright © 2011-2022 走看看