关于Ruby的GC
来源:互联网 发布:mac上怎么用搜狗输入法 编辑:程序博客网 时间:2024/05/16 20:29
对比Ruby和Python的GC
关于Ruby2.0的GC
Ruby的GC基于标记回收算法 。
RubyVM在启动之初就会新建好好大量的对象,放在一个空闲对象链表中(freelist),待代码新建对象时就可以很方便的取用。
这样被取用的对象就被从freelist里移除,freelist将越来越短。
最终freelist耗尽时,GC被触发。
首先,Ruby将停止程序的执行,Ruby使用了”停止这个世界,然后回收垃圾”的方式。然后,Ruby会扫描所有的指向对象和值的指针或引用。同样,Ruby也会迭代虚拟机内部使用的指针。它会标记每一个指针所能到达的对象。
接下来,Ruby将清理没有使用的,垃圾对象,将它们链入空闲对象链表(free list)当多有的freelist里的对象都被标记为in use,ruby则会另外申请一整块heap memory。
这就是标记回收算法。
0 0
- 关于Ruby的GC
- 对Ruby VM的GC的思考
- 关于GC的体会
- 关于GC的类型
- 关于Ruby的版本
- ruby中的gc
- 关于DotNet的GC、Dispose
- 关于DotNet的GC、Dispose
- 关于DotNet的GC、Dispose
- 关于DotNet的GC、Dispose
- 关于DotNet的GC、Dispose
- 关于JVM的gc总结
- 关于JAVA的GC算法
- 关于GC的一些总结
- Ruby的GC机制源码分析(1)
- Ruby的GC机制源码分析(2)
- Ruby的GC机制源码分析(3)
- Ruby的GC机制源码分析(4)
- windchill学习之action的filter注册
- android listview 属性介绍
- 【HDU】5304 Eastest Magical Day Seep Group's Summer【环dp+生成树计数】
- virbr0 虚拟网卡卸载方法-技术宅-ChinaUnix博客
- struts <s:action>标签的用法
- 关于Ruby的GC
- 一个C语言编写的贪吃蛇游戏
- ios UI控件引用用weak,UI控件代理属性必须用weak
- android快速开发--常用utils类
- Scala练习(二)
- Linux系统结构详解
- 关于Activity突然重启
- 修改Linux内核参数,减少TCP连接中的TIME-WAIT sockets
- SVM中的拉格朗日乘数法和KKT条件的深入解析