易燃物汇聚 YouTube 有声书与书评
垃圾回收的算法与实现 封面

垃圾回收的算法与实现

中村成洋 相川光

6130人在读
31.1万字总字数
¥49.99定价

有声书与视频解读 YouTube视频解读 2

内容简介

本书分为“算法篇”和“实现篇”两大部分。算法篇介绍了标记-清除算法、引用计数法、复制算法、标记-压缩算法、保守式GC、分代垃圾回收、增量式垃圾回收、RC Immix算法等几种重要的算法;实现篇介绍了垃圾回收在Python、DalvikVM、Rubinius、V8等几种语言处理程序中的具体实现。本书适合各领域程序员阅读。

读者书评

★★★★★

2024.No79: 24年第36本技术书。垃圾回收,Java开发必知。实际上垃圾回收最早实现是在1959年的Lisp语言里。分算法与实现2部分,算法部分回顾标记-清除、引用计数法、复制、标记压缩、分代等非常经典的算法,也介绍保守式、增量式、RC Immix等之前没听过的算法(Java开发8年多),且很贴心地给出算法的缺陷以及改进版本算法。实现部分讲述Python、DalvikVM、Rubinius、V8等具体实现。垃圾回收是每个工程师必备知识。

★★★★★

本书理论部分看完了,实现部分看了一点。非常适合不太了解垃圾回收算法基本原理的同学

★★★★★

对垃圾回收算法进行了系统的讲解,对垃圾回收一知半解的推荐看下这本书。

★★★☆☆

由于我对计算机底层有深入的了解,同时又具备Java JVM 相关的背景知识和实践经验,所以读得比较轻松。作者在开头提出GC的本质是虚拟内存,令人耳目一新,可惜后面没有对此作进一步的阐述,颇为遗憾。本书出版于2010年,距今已10年了,内容不敢说过时,但起码不全面,如果只看算法层面,还是比较系统的。另外翻译上有一些瑕疵,不适合作为GC的入门读物。

★★★☆☆

和看过的其他日本技术书籍类似,作为入门读物是很好的选择。比较注重实践,通过结合图示帮助读者理解算法的脉络。不过在理论连贯性和深度方面稍微薄弱一些。其他类似的书籍有《垃圾回收算法手册 自动内存管理的艺术》,风格类似,内容比此书更加丰富。《垃圾收集》(Richard Jones、Rafael Lins)也不错。

★★★★★

本书涉及的垃圾回收(Garbage Collection, GC)与其说是理论,其实更偏向技术层面,然而它却有着令人吃惊的漫长历史。GC在计算机发展的激流中没有浮起,也没有沉下。直到1995年Java发布,因为其内藏GC,人们才开始意识到GC的作用。 追溯Lisp语言的秘史我们会发现,GC这种让已经无法利用的内存实现自动再利用(可能称为“内存资源回收”更恰当)的技术,是于Lisp的设计开始约1年后,也就是1959年的夏天首次出现的。实现GC的是一个叫D. Edwards的人。至今已经经过了50多年的漫长岁月。 这期间人们进行了海量的研究和开发,与其相关的论文也堆积如山。这么说来,我也写过几篇关于GC的论文。然而让我吃惊的是,这么久以来竟然没有一本关于GC的教科书或专业书籍。英语界曾于1996年首次针对GC出版了一本Garbage Collection(Richard E. Jones、Rafael D. Lins著),这是37年来在GC领域的一次破天荒的壮举,本书也将其作为了参考文献。然而在日本,本书可以说是第一本用日语写的GC专业图书,可谓五十年磨一剑,在此也对年轻有为的二位作者致以深深的敬意。

★★★★★

日本工程师在描述计算机基础知识,经典知识上确实是精益求精,不遗余力的工匠体现。理解从java开始GC受到推崇,此后,所有高级语言都无法拒绝GC的魅力,而要实现更强大的GC,深入理解GC算法是必经之路。

★★★★★

关于GC算法最好的入门书籍之一。各种算法结合伪代码和程序,解释得足够易懂。看一遍下来,虽然说也许不能每个人都了解里面的各种门门道道,但起码对于大致的流程,各种算法的优缺点有个大概的印象。 后面有一大部分是关于各种虚拟机和语言的gc算法实例的,这部分内容有点过于多了(虽然作者也简化了很多的源代码)。特别是每种语言和虚拟机的内存分配策略,花了非常多篇幅,如果没有基础,看着还是很吃力的,大家可以根据兴趣和能力选择略读还是细读吧。总体而已还是很值得看的一本书。

★★★★★

垃圾回收的发展却非常快,作者书中介绍的各种算法和组合,千变万化,光是几年前相对还比较熟悉的V8,跟本书写作的2009年,已经有很大变化。 但是阳光底下又没有太多新鲜事,作者写书之后才出现的Go使用的三色标记和增量回收,是Dijkstra等人1970年代的论文就在研究的。 前两年读这本书前,对引用计数有种偏见,不能处理循环依赖,结合部分标记清除算法,并不是问题,就像Python,不同的策略可以解决不同问题,永恒的是权衡取舍。 对我们的启示是,真的开发垃圾回收器,应该从根本思考问题,就是第一性原理,要从一个矩阵中获得完整的信息,必然要做的是遍历每一个节点,做标记,记录获得的信息。 对象和空间也并不神秘,对象中非指针的基本类型决定占用的空间,空间就是连续的可寻址的固定大小的块,用指针和偏移来分割

★★★☆☆

内容不够详实,可以作为正式书籍的补充

书籍信息

作者中村成洋 相川光
译者丁灵
出版社人民邮电出版社
出版时间2016-08-08
ISBN9787115427472
分类计算机-编程设计
格式EPUB
完结状态连载中
章节数30