如何评价《垃圾回收算法的算法与实现》及作者中村成洋

&&1628 阅读
作者:RednaxelaFX(莫枢)
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
莫枢,现就职于Azul Systems参与Zing JVM的JIT编译器研发。曾就职Oracle与阿里巴巴参与HotSpot VM的研发。热爱编程语言的设计与实现,喜欢学习和鼓捣各种编程语言,对托管运行时的设计与实现有深入了解。常用网名RednaxelaFX。
嗯,这本书的中文版快出了,真是欣慰!
原版刚出的时候我就赶紧在日本Amazon上买了。后来達人出版会发行了这本书的电子版,我还又买了一次电子版以表支持。
关于中村成洋
中村成洋大大的Twitter账号是(日文)和(英文)。个人网站(包括博客)在。他的工作中我所关注的部分是他对CRuby的GC的改进,例如CRuby 1.9的lazy sweep、CRuby 2.0的bitmap marking等。
感觉他是个平易近人的程序员,跟他讨论问题时氛围总是轻松活泼的。
他好学且勤于实践。跟许多其他日本程序员一样,他乐于并擅长阅读开源代码,并且记下学习笔记。
书中,源码剖析(“实现”)的部分主要是中村大大写的。原本这本书还计划包含对G1 GC的源码剖析,但时间和篇幅实在是安排不下,他就另外通过達人出版会出版了G1 GC源码剖析的上下两册书:
这本书基本上是中村大大围绕G1 GC的原始论文做的说明。论文没读懂的同学,这本书是你们的福音 &_& 论文在此:
这本书是众筹资金来赞助中村大大写的。而写出来的成果也以CC BY-SA许可证发布在Github上:
关于这本书
原版是,中文版由图灵引进,译者是丁灵。
我在自己的几个书单里都有放这本书:
从入门到进阶阅读学习GC知识,这本可以作为第一本书;后面接上老的
也行,或者跳过这本老的直接到
这本书覆盖了老 Garbage Collection 书的大部分基本算法和变种介绍,如果不是特别想考古或者说想把GC领域的历史都挖出来看看的话,就可以跳过这本老书了。
这本书所覆盖的内容,看目录就一目了然了:
目次 - ガベージコレクションのアルゴリズムと実装 [単行本] - Amazon.co.jp
アルゴリズム編
第1章 GCを学ぶ前に
第2章 マークスイープGC(Mark Sweep GC)
第3章 参照カウント(Reference Counting)
第4章 コピーGC(Copying GC)
第5章 マークコンパクトGC(Mark Compact GC)
第6章 保守的GC(Conservative GC)
第7章 世代別GC(Generational GC)
第8章 インクリメンタルGC(Incremental GC)
第9章 PythonのGC
第10章 DalvikVMのGC
第11章 RubiniusのGC
第12章 V8のGC
中文版里,原作者之一的相川光还专门在算法篇新加了一章讲RC Immix的,一种结合tracing与引用计数的新算法。作者太好人了 &_&
审校者前言
第 1 章 学习 GC 之前
第 2 章 GC 标记 - 清除算法
第 3 章 引用计数法
第 4 章 GC 复制算法
第 5 章 GC 标记 - 压缩算法
第 6 章 保守式 GC
第 7 章 分代垃圾回收
第 8 章 增量式垃圾回收
第 9 章 RC Immix 算法
第 10 章 Python 的垃圾回收
第 11 章 DalvikVM 的垃圾回收
第 12 章 Rubinius 的垃圾回收
第 13 章 V8 的垃圾回收
其中实现篇里介绍的GC,具体是:
Python 3.0.1。其引用计数以及备份的mark-sweep GC(所谓Cycle
GC)都有介绍。在讲解GC的概念与思路上,这章比《Python源码剖析》写得好。
Dalvik VM Android 1.5r2 (Cupcake)版。重点是:分块的GC堆、mark-sweep GC、bitmap marking。
当然,现在看来这是比较老的Dalvik VM,后来新加的并发GC(Concurrent Mark-Swep)、copying GC都没有介绍。
Rubinius,基本上反映了1.0.0版的状况。Rubinius的GC是分代式的,young gen为copying GC,old
gen为Immix GC。本书的源码剖析只着重介绍了其young gen的实现,以及准确式GC的实现方式。
V8 1.3.13.5。重点是:GC堆的划分、tagged pointer、准确式GC的实现、old gen的mark-compact。
这从现在看来也很老了。后来的V8的GC发展得相当复杂,不过要追根溯源还是能找到跟早期版本相似的基本思路。
这样,4个实现就分别覆盖了引用计数、mark-sweep、copying与mark-compact算法在实际VM中的实现与应用。理论结合了实际。
我特别推荐《垃圾回收的算法与实现》,求出版社引进中文版,是因为它非常适合用于入门。它既系统的介绍了GC的经典基础算法(及其若干变种),又贴近现实剖析了一些实用系统中的GC实现,在抽象与具体,理论与实现之间找到了一个不错的平衡。
有不少着眼入门水平的书在这种平衡点上就拿捏得不好:
要么通篇理论,过于抽象,难以结合代码形象的理解,读完书还是实现不出东西来;
么过于注重单一特定的简单实现,缺乏大局观,难以让读者有效的萃取出重点思路举一反三泛化到理解整个领域。
而且这本书通篇的记述都配合着大量形象的插图,非常有助于读者理解其相关文字描述。
要说读得不过瘾的地方,那就是算法篇中对GC知识的系统性把握还是不如 The Garbage Collection Handbook ;而实现篇中剖析的对象从现在的角度看版本偏老,而且有些系统实现得复杂的地方被略过了(例如分析Rubinius的GC时只分析了young gen的copying GC,而没有分析old gen的Immix GC),读完真恨不得给它加几个小章节…
但即便如此,这本书既授人以鱼,也授人以渔,读者了解了分析代码的思路后,结合算法篇里对领域的介绍,要去阅读其它GC实现的源码也就会有头绪了。所以那些缺失的源码剖析,就算是留给读者的习题吧(&_&
图灵市场运营,负责图灵教育微信、微博、线上合作。
&内容提要&
本书分为“算法篇”和“实现篇”两大部分。算法篇介绍了标记-清除算法、引用计数法、复制算法、...如何评价《垃圾回收的算法与实现》及其作者中村成洋? - 知乎1663被浏览44369分享邀请回答该回答已被折叠 折叠原因:算法识别自动折叠0添加评论分享收藏感谢收起如何评价《垃圾回收的算法与实现》及其作者中村成洋? - 知乎1663被浏览44369分享邀请回答21 条评论分享收藏感谢收起当前位置: >
> 垃圾回收的算法与实现 (中村成洋著) 中文pdf完整版[21MB]
垃圾回收的算法与实现 (中村成洋著) 中文pdf完整版[21MB]
垃圾回收算法与实现
书籍大小:21.4MB
软件语言:简体中文
书籍类型:
书籍授权:免费软件
更新时间:
书籍类别:编程其它
购买链接:&&
应用平台:
网友评分:
内容介绍热点排行下载地址相关内容
《算法导论(原书第2版)》深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。《算法导论(原书第2版)》的设计目标全面,适用本书是微信公众平台应用开发领域的经典著作,作者是腾讯公司的资深软件开发工程师,而且是微信公众平台应用开发的先驱者之一wpf编程宝典―c#2010版全面描述了所有wpf的主要特性,从xaml(用于定义wpf用户界面的标记语言)到3d绘图和动画。本书很少编写涉及.net framework其他特性的代码,如用于查询本书通过丰富的案例学习来解释Hadoop的幕后机理,阐述了Hadoop如何解决现实生活中的具体问题。第3版覆盖Hadoop的全新动态这是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴proe5.0入门教程.pdf,内容索引:proe5.0简介、Pro/ENGINEER 概念、零件设计基储手机建模、装配手机、在 Pro/ENGINEER 中 创建绘图、提高效率、proe5.0术语表等,相对基础本书已经成为面向对象技术人员的圣经和词典,书中定义的23个模式逐 渐成为开发界技术交流所必备的基础知识和语汇《Unity3D游戏开发》通过实例详细介绍了如何使用Unity 进行游戏开发,书中先简要介绍了Unity 环境搭建、编辑器和GUI 游戏界面相关的知识,接着介绍了如何使用C# 和JavaScri《啊哈!算法》中涉及的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及的算法有排序、枚举、深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路
垃圾回收的算法与实现 (中村成洋著) 中文pdf完整版[21MB]
CopyRight &
JB51.Net , All Rights Reserved

我要回帖

更多关于 jvm垃圾回收算法 的文章

 

随机推荐