垃圾回收的算法与实现

垃圾回收的算法与实现
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [日] , , ,
2016-08
版次: 1
ISBN: 9787115427472
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 443页
字数: 620千字
正文语种: 简体中文
原版书名: ガベージコレクションのアルゴリズムと実装
97人买过
  •   本书分为“算法篇”和“实现篇”两大部分。算法篇介绍了标记-清除算法、引用计数法、复制算法、标记-压缩算法、保守式GC、分代垃圾回收、增量式垃圾回收、RCImmix算法等几种重要的算法;实现篇介绍了垃圾回收在Python、DalvikVM、Rubinius、V8等几种语言处理程序中的具体实现。 
      中村成洋 ,Network Applied Communication Laboratory Ltd. 研究员。 
      因为偶然的机会对GC产生浓厚兴趣,其本人却说不清楚为何喜欢GC,当被人追问原因时,总是回答“是缘分”。现在是CRuby的commiter,每天致力于GC的改善。 
      执笔本书“实现篇”。 
     
      相川光 ,游戏开发者。 
      京都大学在学期间开始研究GC。热爱GC但讨厌打扫。除了GC之外还喜欢咖喱。 
      执笔本书“算法篇”。 
     
      竹内郁雄(审校) ,东京大学名誉教授。 
      热爱对象,甚至会给因为bug没能得到重复利用而死去(释放)的对象上供。 
      日本Lisp黑客,著有《LISP入门》(初めての人のためのLISP)。 
    序章 
    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 
  • 内容简介:
      本书分为“算法篇”和“实现篇”两大部分。算法篇介绍了标记-清除算法、引用计数法、复制算法、标记-压缩算法、保守式GC、分代垃圾回收、增量式垃圾回收、RCImmix算法等几种重要的算法;实现篇介绍了垃圾回收在Python、DalvikVM、Rubinius、V8等几种语言处理程序中的具体实现。 
  • 作者简介:
      中村成洋 ,Network Applied Communication Laboratory Ltd. 研究员。 
      因为偶然的机会对GC产生浓厚兴趣,其本人却说不清楚为何喜欢GC,当被人追问原因时,总是回答“是缘分”。现在是CRuby的commiter,每天致力于GC的改善。 
      执笔本书“实现篇”。 
     
      相川光 ,游戏开发者。 
      京都大学在学期间开始研究GC。热爱GC但讨厌打扫。除了GC之外还喜欢咖喱。 
      执笔本书“算法篇”。 
     
      竹内郁雄(审校) ,东京大学名誉教授。 
      热爱对象,甚至会给因为bug没能得到重复利用而死去(释放)的对象上供。 
      日本Lisp黑客,著有《LISP入门》(初めての人のためのLISP)。 
  • 目录:
    序章 
    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 
查看详情
系列丛书 / 更多
垃圾回收的算法与实现
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
垃圾回收的算法与实现
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
垃圾回收的算法与实现
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
垃圾回收的算法与实现
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
垃圾回收的算法与实现
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
垃圾回收的算法与实现
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
垃圾回收的算法与实现
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
垃圾回收的算法与实现
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
垃圾回收的算法与实现
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
垃圾回收的算法与实现
图解HTTP
[日]上野·宣 著;于均良 译
垃圾回收的算法与实现
Objective-C基础教程 第2版
[美]Scott、[美]Waqar、[美]Mark Dalrymple 著;周庆成 译
垃圾回收的算法与实现
算法图解
袁国忠 译
您可能感兴趣 / 更多
垃圾回收的算法与实现
寻羊冒险记
[日]村上春树
垃圾回收的算法与实现
听风的歌
[日]村上春树
垃圾回收的算法与实现
绫辻行人的馆
[日]绫辻行人 著
垃圾回收的算法与实现
卡皮巴拉不烦恼:如何像水豚一样远离内耗
[日]草薙龙瞬 著;许天小 译;时代华语 出品
垃圾回收的算法与实现
轨迹queue: Kii Kanna作品集(赠PVC卡×1,明信片×4,拍立得风小卡×2)硬壳精装
[日]Kii Kanna 著;加缪的猫 译;天闻角川 出品
垃圾回收的算法与实现
明清与李朝时代
[日]岸本美绪 后浪
垃圾回收的算法与实现
泡泡先生
[日]吉田隆大 文图
垃圾回收的算法与实现
枕头仙人:全二册
[日]加岳井广/著 王志庚 译
垃圾回收的算法与实现
汗青堂丛书048·科举史(新)
[日]宫崎市定 后浪
垃圾回收的算法与实现
人体极限:了解你的健康限度
[日]山崎昌广
垃圾回收的算法与实现
神奇牙膏(宫西达也图画书)激发神奇想象力,让孩子爱上刷牙
[日]宫西达也 著;彭懿 译
垃圾回收的算法与实现
恶意心理学
[日]冈本真一郎