杞县网站制作【杞县网站优化】杞县建网站、杞县微信公众号运营、杞县网页设计、杞县微信小程序商城-网站制作-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

杞县网站制作【杞县网站优化】杞县建网站、杞县微信公众号运营、杞县网页设计、杞县微信小程序商城

发表日期: 2021-04-26 13:53:12 浏览次数:107

杞县网站制作【杞县网站优化】杞县建网站、杞县微信公众号运营、杞县网页设计、杞县微信小程序商城


杞县是河南省开封市辖县,位于河南省东部,北接开封市兰考县和商丘市民权县,东临商丘市睢县,南至周口市太康县,西到开封市祥符区和通许县。

杞县是“省级历史文化名城”,夏朝时期的杞国曾在这里建都立国长达1000余年 [1]  。是近代著名的豫东革命根据地,豫东战役大量战斗发生于此,是河南13个一类革命老区之一。

杞县素有“中原粮仓”之美称。 [2]  2012年杞县产业集聚区被评为“全省十佳新型工业化产业示范基地”。 [3]  2018年12月13日,入选中国特色农产品优势区名单。 [4] 


前几年,图灵在 R 大( RednaxelaFX /莫枢)的大力推荐下,引进了一本日系技术书《垃圾回收的算法与实现》(下文简称 GC 书),一直关注图灵的读者可能对这本书还有些印象。

enter image description here

GC 书分为“算法篇”和“实现篇”两大部分,介绍了标记-清除算法等 9 种重要的 GC 基础算法,以及 GC 在 Python 等 4 种语言处理程序中的具体实现。

用 R 大的话说,这本书非常适合用于入门——它既系统地介绍了 GC 的经典基础算法(及其若干变种),又贴近现实剖析了一些实用系统中的 GC 实现,在抽象与具体,理论与实现之间找到了一个不错的平衡。

GC 书实现篇的作者是中村成洋。他因为偶然的机会对 GC 产生浓厚兴趣,本人却说不清为何喜欢 GC。被人追问原因时,总是回答“是缘分”。

中村成洋
enter image description here

中村是 CRuby 的 committer,现在仍每天致力于 GC 的改善。

在 GC 书的原稿中,有一章是关于“HotSpotVM 的实现”,但因为时间关系,没来得及出版。GC 书正式出版后,中村才继续写作这部分。

一开始,他计划只介绍 G1GC 的实现,但是在写作过程中渐渐改变了想法,觉得还是先写一些算法原理更有助于读者理解,所以又开始埋头写 G1GC 的算法原理。

于是,就有了今天我们要介绍的这本《深入 Java 虚拟机:JVM G1GC 的算法与实现》。

enter image description here

和 GC 书一样,这本书由“算法篇”和“实现篇”两大部分构成。

在算法篇中,这本书探讨了 OpenJDK 7 中引入的 GC 算法——G1GC(Garbage First Garbage Collection)的原理。G1GC 中有一个很大的谜团,那就是 GC 暂停处理的预测暂停时间。算法篇用了数十页的篇幅来揭示它。

关于 G1GC 的资料,具有代表性的是由 David Detlefs 等人所写的英语论文 Garbage-First GarbageCollection。但是那篇论文非常深奥晦涩,只读一遍是无法透彻理解的。

中村初次接触那篇论文是在 2007 年。当时他的英语阅读能力有限,也不怎么了解 GC,所以没读多少就放弃了。3 年后,他掌握了一定程度的 GC 知识,所以再次挑战了那篇论文——结果仍然没能彻底理解。

在那之后的半年多里,中村读完论文读源码,读完源码又去读论文,如此反复,终于彻底理解了全部内容。对于他来说,理解 G1GC 的过程可以称得上“荆棘之路”。

《深入 Java 虚拟机》的算法篇,比原始论文更加详细地介绍了 G1GC 的算法原理和执行过程。对于自己以前理解起来比较困难的地方,中村还特意进行了详细的说明,因此内容要比原始论文易于理解。即使是不太了解 GC 的读者,理解起来也没有什么问题。

在实现篇中,中村又详细剖析了 HotSpotVM 的源码。

HotSpotVM 实现了包括 G1GC 在内的多种 GC 算法。不过这些算法并非凭空而来,而是基于 HotSpotVM 中专为 GC 算法设计的框架实现的。因此,中村会带大家去了解作为框架之一的对象管理功能。得益于对象管理功能的接口,多种 GC 算法之间的切换成为可能,而且新 GC 算法的添加也变得更加简单。

之后,大家还会了解对象的数据结构和内存分配器。有关分配器的讲解会稍微涉及对操作系统的调用。

除此以外,大家还将了解 G1GC 中用到的线程管理方法。HotSpotVM 内部同样也有能够在 GC 过程中简单地操作线程的框架,各种 GC 算法都是通过这个框架来实现并行 GC 和并发 GC 的。

再后面就是 G1GC 的具体实现,讲解了 G1GC 的并发标记和转移,以及调度程序的实现。这部分尽量省略了算法篇中已经详细讲解过的内容,着重讲解前面没有涉及的内容。

对于 G1GC,中村曾有过不少疑问。比如“G1GC 是如何实现准确式 GC 的”和“实现了这么多 GC 不会导致写屏障变慢吗”,等等。因此,他研究了 G1GC 的实现方式,并将得到的结果放在了本书的最后两章。

中村写作本书的目的在于将他走过的“荆棘之路”变成更多人易于踏上的坦途。希望各位读者轻松愉快地走过这条坦途,用最短的时间掌握 G1GC。

| 图书特色

| 读者对象

这本书适合所有对 JVM、GC 和 JDK 内存管理感兴趣的读者阅读。

这本书可以说是对 GC 书的补充,弥补了 GC 书未深入讲解并行 GC/并发 GC,未涉及 JVM GC 的不足,相对来说更加贴合 Java 从业者。只要读过 GC 书,应该就能理解本书的内容。

不过即使没有读过,只要具备一些 GC 的基础知识,阅读本书也不成问题。具体来说,需要事先掌握标记-清除 GC、复制 GC 和增量 GC 等的基础算法。

如果不具备任何 GC 相关的知识,而且也不打算阅读 GC 书,那么建议先自己在网络上简单了解一下 GC。

作为 Javaer 必拜山头之一,JVM 一直带有那么一些神秘感。希望这本书能帮助大家进一步打破这种神秘感,知其然并知其所以然,了解底层又不拘泥于底层,写起代码来更加得心应手。

微信图片_20210425092605.jpg

杞县网站制作杞县网站优化杞县建网站、杞县微信公众号运营、杞县网页设计、杞县微信小程序商城

上一条:杞县网站建设【杞县网络公司】杞县做网站、杞县微信公众号开发、杞县网站设计、杞县小程序制作
下一条:杞县微信公众号开发【杞县网络推广】杞县建站、杞县网站维护、杞县网页制作、杞县微信小程序代运营公司
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约