博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python】python内存管理摘要
阅读量:5306 次
发布时间:2019-06-14

本文共 496 字,大约阅读时间需要 1 分钟。

a = 1

id(a)  == id(1)

每次退出ipython重新进入,这个Id都会不一样

 

sys.getrefcount(a) 可以计数某个对象的引用次数,是原来的次数+1

 

垃圾回收

使用gc包 garbage collector

 

gc.collect() 手动垃圾回收

 

一般是自动垃圾回收,分配对象和取消分配对象差值高于某个阈值的时候才会回收垃圾,

使用函数gc.get_threshold() 获得阈值,默认为(700, 10, 10),后两个是分代回收的参数

 

分代回收的意义在于,越是长久的对象,我们越认为会存在更久,分为0代, 1代,2代三种

如果对象经过一次回收没有被回收,那么上升一代,(10, 10)的意思是,经过10次0代回收会进行一次1代回收,经过10次1代回收会进行一次2代回收

 

孤立的引用环的回收机制:

1、首先得到每个对象的引用次数

2、对每个对象i, 找到i引用的对象j,将j的引用次数减1

3、如果ref次数为0,除非引用别人或者更下游有引用,否则当作垃圾回收

转载于:https://www.cnblogs.com/yesuuu/p/6208069.html

你可能感兴趣的文章
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
Swagger简单介绍
查看>>
Python数据分析入门案例
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
css背景样式
查看>>
JavaScript介绍
查看>>
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>
Hallo wolrd!
查看>>
16下学期进度条2
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
Chapter 3 Phenomenon——12
查看>>
C语言中求最大最小值的库函数
查看>>
和小哥哥一起刷洛谷(1)
查看>>
jquery对id中含有特殊字符的转义处理
查看>>