Python是如何进行内存管理的 生活 2020-09-13 04:50:45 共1个回答 ()人看过 Python进行内存管理的方式介绍如下:一、垃圾回收:1、当内存中有不再使用的部分时,垃圾收集器就会把它们清理掉,它会去检查那些引用计数为0的对象,然后清除其在内存的空间,除了引用计数为0的会被清除,还有一种情况也会被垃圾收集器清掉,即当两个对象相互引用时,它们本身其他的引用已经为0的情况;2、垃圾回收机制还有一个循环垃圾回收器,确保释放循环引用对象,即a引用b,、b引用a,,导致其引用计数永远不为0。3、在Python中,许多时候申请的内存都是小块的内存,这些小块内存在申请后,很快又会被释放,由于这些内存的申请并不是为了创建对象,所以并没有对象一级的内存池机制,这就意味着Python在运行期间会大量地执行malloc和free的操作,频繁地在用户态和核心态之间进行切换,这将严重影响Python的执行效率,为了加速Python的执行效率,Python引入了一个内存池机制,用于管理对小块内存的申请和释放。二、内存池机制:1、Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统;2、Python中所有小于256个字节的对象都使用Pymalloc实现的分配器,而大的对象则使用系统的Malloc;3、对象,如整数、浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池,即如果分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。; () () 我来回答:共有条评论 登录 注册 剩余:2000字 免登录提交 上一页:偷脸小说,讲的什么 下一页:汉口联通营业厅在哪里