失效链接处理 |
各种垃圾回收的算法与实现 PDF 下载
转载自:https://download.csdn.net/download/jyluo_/10395021
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/24013691.html
相关截图:
资料简介:
本书分为“算法篇”和“实现篇”两大部分。算法篇介绍了标记-清除算法、引用计数法、复制算法、标记-压缩算法、保守式GC、分代垃圾回收、增量式垃圾回收、RC Immix算法等几种重要的算法;实现篇介绍了垃圾回收在Python、DalvikVM、Rubinius、V8等几种语言处理程序中的具体实现。
资料目录:
序章 GC的定义 1 GC的好处 2 GC的历史 3 为什么我们现在要学GC 4 读者对象 6 本书中的符号 7 算法篇 第1章 学习GC之前 1.1 对象/头/域 12 1.2 指针 14 1.3 mutator 15 1.4 堆 15 1.5 活动对象/非活动对象 16 1.6 分配 16 1.7 分块 17 1.8 根 17 1.9 评价标准 19 第2章 GC标记-清除算法 2.1 什么是GC标记-清除算法 22 2.2 优点 29 2.3 缺点 29 2.4 多个空闲链表 31 2.5 BiBOP法 33 2.6 位图标记 34 2.7 延迟清除法 37 第3章 引用计数法 3.1 引用计数的算法 40 3.2 优点 44 3.3 缺点 44 3.4 延迟引用计数法 46 3.5 Sticky引用计数法 50 3.6 1位引用计数法 52 3.7 部分标记-清除算法 55 第4章 GC复制算法 4.1 什么是GC复制算法 66 4.2 优点 73 4.3 缺点 74 4.4 Cheney的GC复制算法 74 4.5 近似深度优先搜索方法 78 4.6 多空间复制算法 83 第5章 GC标记-压缩算法 5.1 什么是GC标记-压缩算法 89 5.2 优点 94 5.3 缺点 95 5.4 Two-Finger算法 95 5.5 表格算法 100 5.6 ImmixGC算法 106 第6章 保守式GC 6.1 什么是保守式GC 119 6.2 优点 122 6.3 缺点 122 6.4 准确式GC 123 6.5 间接引用 125 6.6 MostlyCopyingGC 127 6.7 黑名单 139 第7章 分代垃圾回收 7.1 什么是分代垃圾回收 142 7.2 Ungar的分代垃圾回收 143 7.3 优点 153 7.4 缺点 154 7.5 记录各代之间的引用的方法 154 7.6 多代垃圾回收 156 7.7 列车垃圾回收 157 第8章 增量式垃圾回收 8.1 什么是增量式垃圾回收 166 8.2 优点和缺点 174 8.3 Steele的算法 174 8.4 汤浅的算法 176 8.5 比较各个写入屏障 178 第9章 RC Immix算法 9.1 目的 180 9.2 合并型引用计数法 180 9.3 合并型引用计数法和Immix的融合 185 9.4 优点和缺点 189 实现篇 第10章 Python的垃圾回收 10.1 本章前言 192 10.2 对象管理 194 10.3 Python的内存分配器 196 10.4 第0层 通用的基础分配器 197 10.5 第1层 Python低级内存分配器 198 10.6 第2层 Python对象分配器 208 10.7 第3层 对象特有的分配器 231 10.8 引用计数法 234 10.9 引用的所有权 239 10.10 如何应对有循环引用的垃圾对象 245 10.11 性能调整的建议 269 第11章 DalvikVM的垃圾回收 11.1 本章前言 271 11.2 重新学习mmap 275 11.3 DalvikVM的源代码 279 11.4 DalvikVM的GC算法 282 11.5 对象管理 282 11.6 标记阶段 299 11.7 清除阶段 322 11.8 Q&A 327 第12章 Rubinius的垃圾回收 12.1 本章前言 329 12.2 Rubinius的GC算法 333 12.3 对象管理 334 12.4 走向准确式GC之路 343 12.5 GC复制算法 359 12.6 Q&A 375 第13章 V8的垃圾回收 13.1 本章前言 379 13.2 V8的GC算法 382 13.3 对象管理 382 13.4 通往准确式GC之路(V8篇) 389 13.5 GC标记-压缩算法 398 13.6 标记阶段 400 13.7 压缩阶段 412 13.8 Q&A 431 附录 附录A 简单语言入门:Python篇 432 附录B 简单语言入门:Java篇 435 附录C 简单语言入门:Ruby篇 436 附录D 简单语言入门:JavaScript篇 437 后记 439 参考文献 441 |