内存管理

一.引用计数:垃圾回收机制的依据

1.变量的值被引用,该值的引用计数 +1
2.变量的值被解绑,该值的引用计数 -1
3.引用计数为0时就会被垃圾回收机制回收

二.引用计数会出现循环引用问题:相互引用无法释放

1.两个变量引用其值,值之间又相互引用
 2.变量与值进行解绑,但是值之间还存在相互引用,导致值得引用计数永远 >0
 3.引用计数>0的值永远无法被引用计数机制回收,导致内存泄露

三.标记清除:解决循环引用问题

# 所有线程能访问到的栈区变量,称之为 gc roots对象
1.所有gc roots对象可以直接或间接访问到的变量值,都会被 标记机制 标记为存活状态
2.将所有存活状态的值形成新的拷贝,变量完成重新引用
3.清除机制 会将之前所有产生的值都进行回收

四.分代回收:采用的还是引用计数来回收,是对该机制的一个优化措施

1.刚产生的变量值放在新生代中高频率检查,如果引用计数为0,就是采用引用计数机制回收,长期存活的变量值经过多次检查后会提高分代
2.分带又高,检查频率越低,且还能继续提高一直存活的变量值的分带,从而来提高整体垃圾回收的效率

转载于:https://www.cnblogs.com/tfzz/p/10758745.html

Python脱产8期 Day09 2019/4/23相关推荐

  1. python速成要多久2019-8-28_Python脱产8期 Day13 2019/4/28

    一 函数的嵌套定义 1在一个函数的内部定义另一个函数. 2.为什么有函数的嵌套定义: # 1)函数fn2想直接使用fn1函数的局部变量,可以讲fn2直接定义到fn1的内部,这样fn2就可以直接访问fn ...

  2. Python脱产8期 Day02

    一 语言分类 机器语言,汇编语言,高级语言(编译和解释) 二 环境变量 1.配置环境变量不是必须的2.配置环境变量的目的:为终端提供执行环境 三Python代码执行的方式 1交互式:.控制台直接编写运 ...

  3. python视频学习002(2017年老男孩最新全栈python第2期视频教程)---电脑简史

    申明 计算机简史 申明 最近开始系统的学习python,跟着老男孩的python教程一起学习并记录下相关内容,2017年老男孩最新全栈python第2期视频教程 相关视频下载请参考我上一篇博客,上面介 ...

  4. Python 数据分析第二期--简述数据集常用格式及操作

    Python 数据分析第二期–简述数据常用格式及操作 1.常用格式的本地数据读取 ​ 常用的数据分析文件格式有: ​ csv,json,xls,xlsx,txt,xml,等 TXT ​ txt文件由字 ...

  5. 2019/2/23研究日志

    今天我们进行了第一次实践操作. 由于直接制作一个磁悬浮电子器件对于初步接触电子电工的我们来说要求太高,我们觉得循序渐进,经过试验和经验积累,逐步掌握电子电工知识,才有可能完成磁悬浮的设计和尝试制作.于 ...

  6. 训练日志 2019.1.23

    好几天没写训练日记了... 最近几天题出的不多,大部分时间都在补题... 今天做了两道模版题,一道最大团的,现学的 Bron-Kerbosch 算法,一道树形 DP 的题,最后时间不够了没交上... ...

  7. 菜鸟python_菜鸟爱Python第1期:Python发展史?对Python最深刻的解读

    这是胜天半子的第1篇原创. 前言 也许你不是一名程序员,也许你甚至都不是做IT行业的,但你的定位只要不是被时代所抛弃的老年人,你,多多少少应该听过"Python"一词,多多少少看到 ...

  8. python全栈开发实战pdf老男孩_Python教程:2017年老男孩最新全栈python第2期视频教程全套完整版...

    教程名称:2017年老男孩最新全栈python第2期视频教程全套完整版 教程目录: day01-python 全栈开发–基础篇 day02-python 全栈开发-基础篇 day03-python 全 ...

  9. 【STM32CubeMx】学习记录(基于微雪教程)(2019/2/16——2019/2/23完结)

    教程学习网址:http://www.waveshare.net/study/article-666-1.html 2019/2/16 STM32CubeMx系列教程 1-3 2019/2/17 STM ...

最新文章

  1. VC开发Windows客户端软件之旅——前言
  2. Linux -- free 命令 内存适用状态监控
  3. python软件_Python自制照片美颜软件~
  4. 学会这个绝招,让 C++ 崩溃无处可逃!
  5. JAVA集合操作的利器:CollectionUtils
  6. 51单片机入门——红外通信
  7. Glide4.7.1 圆角与centerCrop冲突问题
  8. FlashFXP 连接成功无法显示目录
  9. 编程实现:任意输入英文的月份,在查找月份表后输出其对应的中文提示。缩写也可查找。
  10. 在springboot整合mybatis遇到的数据库连接不上问题解决
  11. 微信小程序低功耗蓝牙(BLE)开发总结
  12. 广西大学考计算机可以拿创新学分吗,广西大学创新实践学分实施办法
  13. (SIP-1-话机注册)关于IP话机通过SIP协议注册到PBX电话交换机的全过程解析-如何看wireshark中的报文
  14. 基于飞桨复现图像分类模型TNT,实现肺炎CT分类
  15. python之Matplotlib(2D绘图库)
  16. 万得与网易游戏平台开发一面
  17. 微信公众号开发之VS远程调试
  18. 禁止查看写好的宏_【收藏】亚马逊Listing不知道怎么写??看完此篇,即刻破单!...
  19. 东软载波8Bit MCU开发环境搭建
  20. python:接口开发

热门文章

  1. Java 8 - 05 方法引用
  2. Redis-18Redis主从同步
  3. 运行pyspider时出现 : ImportError: cannot import name ‘ContextVar‘
  4. 可视化_仓库管理可视化
  5. python语言:烟花效果实现
  6. java 中文怎么截取,java String 中文 字符串 截取
  7. js 判断变量是否有值返回bool_有没有办法可以获得javascript函数返回值里的bool值,代码如下:...
  8. matlab RBF 神经网络拟合
  9. cba篮球暂停次数和时间_中国篮球即将来袭!202021赛季CBA赛程时间表
  10. 第九天2017/04/18(4、非虚继承、虚继承的本质 / sizeof)