- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
垃圾回收与d语言内存管理
垃圾回收与D语言内存管理
基础服务D组——毛子华
GC :垃圾回收
GC统一理论 :任何一种GC 算法都是跟踪回收和引用计数
回收两种思路的组合。
引用计数
引用计数是指,针对每一个对象,保存一个对该对象的引用计
数,该对象的引用增加,则相应的引用计数增加。如果对象的引
用计数为零,则回收该对象。
优点:
● 1. 可以立即回收
● 2. 最大暂停时间短。一般情况下可以,如果引用链路很长,也会出
现暂停
● 3. 没有必要沿用指针查找
缺点:
● 1. 计数器增减繁重
● 2. 计数器需要占用额外的存储
● 3. 无法回收循环引用
● 4. 算法简单,实现情况却很多
标记- 清楚(Mark Sweep )算
标记- 清除算法分为两个阶段,标记(mark) 和清
除(sweep).
在标记阶段,collector 从Root 根对象开始进行
遍历,对从mutator 根对象可以访问到的对象都
打上一个标识,一般是在对象的header 中,将其
记录为可达对象。
而在清除阶段,collector 对堆内存(heap
memory) 从头到尾进行线性的遍历,如果发现某
个对象没有标记为可达对象- 通过读取对象的
header 信息,则就将其回收。
标记- 清楚(Mark Sweep )算
优点:
1. 实现简单
2. 与保守式算法兼容
缺点:
1. 碎片化
2. 暂停时间随堆越大时间越多
保守式GC
简单来说,就是不能识别指针和非指针的GC 。
不明确的根:寄存器,调用栈和全局变量空间都是不明确的根
优点:
处理程序不依赖于GC ,代码编写者即使没有意识到GC 的存在,程序也会自己回收
缺点:
1 )识别指针和非指针需要耗费成本
2 )错误识别的指针会被当成活动的对象,包括其子对象,可能会造成垃圾对象压迫堆,即
回收不完全,存在内存泄漏
3 )能够使用的GC 算法有限
精确GC
可以精准的识别指针和非指针。
优点:不会留下非活动对象
缺点:要求处理程序的配合,给实现者带来麻烦,且每次取消标签,再重新设置,会影响到
程序处理的整体速度
GC 复制算
只把某个空间里的活动对象复制到其他的空间,把原空间里的所有对象都
回收掉。
GC 复制算法是利用From 空间进行分配的。当From 空间被完全占满时,
GC 会将活动对象全部复制到To 空间,复制完成后,该算法会把 From 和
To 空间互换。
优点
优秀的吞吐量
可实现高速分配
不会发生碎片化
与缓存兼容
缺点
堆使用效率低下
不兼容保守式GC
标记- 压缩算
GC 标记- 压缩算法是将GC 标记- 清除算法和
GC 复制算法相结合的产物
标记- 压缩算 由标记阶段和压缩阶段组成
标记阶段和GC 标记- 清除算法中的标记阶段完
全相同
优点
堆利用效率高
能有效避免碎片化
缺点
吞吐量差
写屏障
写屏障 :A write barrier in a garbage collector is a fragment of code emitted by the
compiler immediately before every store operation to ensure that (e.g.) generational
invariants are maintained.” 即是说,在每一处内存写操作的前面 ,编译器会生成的一小段代
码段,来确保不要打破一些约束条件。 增量和分代,都需要维护一个write barrier 。
分代的垃圾回收,跨越不同分代之间的引
您可能关注的文档
- 江淮流域持续性暴雨过程水汽输送状况初析-浙江大学学报.pdf
- 屏县鹤声国中104学年第1学期9年级理化科第1次段考考卷9_年___.doc
- 桌上型-言达电子有限公司.doc
- 鸭蛋蛋壳传质特性研究-华中农业大学学报.pdf
- 汽机车排放控制系统及惰转状态检查机车排放控制-中兴大学机械系.pdf
- 贵州麦岗水库小流域降水变化特征的小波分析-地理科学进展.pdf
- 三维可视化建模技术在某铜矿中的应用①.pdf
- modelreferenceadaptivecontrol简称mrac.doc
- 山茶油与常见食用油的理化指标я析比较研究-安徽农业科学.pdf
- 图11题组扣点课堂探究学科素养培养高考模拟第1课时电荷守恒定律.ppt
文档评论(0)