python的内存管理机制

Python015

python的内存管理机制,第1张

论坛

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

登录

XCCS_澍

关注

Python 的内存管理机制及调优手段? 原创

2018-08-05 06:50:53

XCCS_澍

码龄7年

关注

内存管理机制:引用计数、垃圾回收、内存池。

一、引用计数:

    引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1. 当引用计数等于 0 时对象被删除。

二、垃圾回收 :

1. 引用计数

      引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引用计数降为 0 时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾了。比如某个新建对象,它被分配给某个引用,对象的引用计数变为 1。如果引用被删除,对象的引用计数为 0,那么该对象就可以被垃圾回收。不过如果出现循环引用的话,引用计数机制就不再起有效的作用了

2. 标记清除

     如果两个对象的引用计数都为 1,但是仅仅存在他们之间的循环引用,那么这两个对象都是需要被回收的,也就是说,它们的引用计数虽然表现为非 0,但实际上有效的引用计数为 0。所以先将循环引用摘掉,就会得出这两个对象的有效计数。

3. 分代回收

     从前面“标记-清除”这样的垃圾收集机制来看,这种垃圾收集机制所带来的额外操作实际上与系统中总的内存块的数量是相关的,当需要回收的内存块越多时,垃圾检测带来的额外操作就越多,而垃圾回收带来的额外操作就越少;反之,当需回收的内存块越少时,垃圾检测就将比垃圾回收带来更少的额外操作。

2020年最新Python零基础教程(高清视频)百度网盘  

链接: https://pan.baidu.com/s/1GT5kyMphtS6d-6KGivTTqA

提取码: 5kid 复制这段内容后打开百度网盘手机App,操作更方便哦   

若资源有问题欢迎追问~