0 0 0

深入Java虚拟机:JVM G1GC的算法与实现.pdf

冷月醉夕阳
1天前 130
我用夸克网盘分享了「深入Java虚拟机:JVM G1GC的算法与实现.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
深入Java虚拟机:JVM G1GC的算法与实现 作者: [日]中村成洋 出版社: 人民邮电出版社 原作名: 徹底解剖「G1GC」 アルゴリズム編+徹底解剖「G1GC」実装編 译者: 吴炎昌/杨文轩 出版年: 2020-12 页数: 240 定价: 59 装帧: 平装 丛书: 图灵程序设计丛书·Java系列 ISBN: 9787115554529

内容简介

本书深入Java虚拟机底层原理,对JVM内存管理中的垃圾回收算法G1GC进行了详细解读。全书分为“算法篇”和“实现篇”两大部分:前一部分主要介绍G1GC的算法原理,内容包括G1GC的并发标记、转移功能、软实时性的实现和分代G1GC模式;后一部分聚焦算法篇中没有详细讲解的实现部分,基于HotSpotVM源码,讲解对象管理功能、内存分配器的机制、线程管理方法和G1GC的具体实现。 本书以图配文,通俗易懂,既系统介绍了G1GC的基础算法,又贴近现实,剖析了实用JVM中的G1GC实现,同时还包含了作者对G1GC的研究成果和独到见解,是深入理解JVM和G1GC机制的佳作。

作者简介

中村成洋 生于1985年。日本网络应用通信研究所研究员。因为偶然的机会对GC产生浓厚兴趣,本人却说不清为何喜欢GC,被人追问原因时,总是回答“是缘分”。现在是CRuby的committer,每天致力于GC的改善。著有《垃圾回收的算法与实现》。

网友热评

ever: 我应该是购书后最早读完的。gc过程介绍的很详细。 RongieZeng: 只看了算法篇,不过感觉讲得也不是很清晰,后来还是从晚上看了一些文章才基本理顺g1gc是怎么运转的 蒙大拿: 翻译稀烂,这译者非要一遍一遍的用“转移专用记忆集合”来描述RSet……有些地方则完全不明所以:“另外,并发标记中的STAB本地队列和SATB队列集合中的引用也包含在$root中,会被转移,这是因为他们的引用地址都必须改为转移后的地址。”,你译者自己读的通这句话???

图书目录

算法篇 第1章 G1GC是什么 1.1 G1GC和实时性2 1.2 堆结构5 1.3 执行过程5 1.4 并发标记和转移7 第2章 并发标记 2.1 什么是并发标记8 2.2 标记位图9 2.3 执行步骤10 2.4 步骤①——初始标记阶段10 2.5 步骤②——并发标记阶段12 2.6 步骤③——最终标记阶段18 2.7 步骤④——存活对象计数19 2.8 步骤⑤——收尾工作21 2.9 总结22 第3章 转移 3.1 什么是转移25 3.2 转移专用记忆集合26 3.3 转移专用写屏障28 3.4 转移专用记忆集合维护线程31 3.5 热卡片32 3.6 执行步骤32 3.7 步骤①——选择回收集合33 3.8 步骤②——根转移34 3.9 步骤③——转移39 3.10 标记信息的作用39 3.11 总结40 第4章 软实时性 4.1 用户的需求41 4.2 预测转移时间42 4.3 预测可信度43 4.4 GC暂停处理的调度44 4.5 并发标记中的暂停处理46 第5章 分代G1GC模式 5.1 不同点47 5.2 新生代区域48 5.3 分代对象转移49 5.4 执行过程简述49 5.5 分代选择回收集合51 5.6 设置最大新生代区域数51 5.7 GC的切换52 5.8 GC执行的时机52 第6章 算法篇总结 6.1 关系图53 6.2 优点54 6.3 缺点54 6.4 结束语55 实现篇 第7章 准备工作 7.1 什么是HotSpotVM58 7.2 什么是OpenJDK58 7.3 获取源码59 7.4 代码结构60 7.5 两个特殊类61 7.6 适用于各种操作系统的接口63 第8章 对象管理功能 8.1 对象管理功能的接口64 8.2 对象管理功能的全貌65 8.3 CollectedHeap类66 8.4 CollectorPolicy类67 8.5 各个GC类68 第9章 堆结构 9.1 VM堆70 9.2 G1GC堆72 9.3 常驻空间75 第10章 分配器 10.1 内存分配的流程76 10.2 VM堆的申请77 10.3 VM堆的分配79 10.4 对象的分配86 10.5 TLAB90 第11章 对象结构 11.1 oopDesc类92 11.2 klassOopDesc类93 11.3 Klass类94 11.4 类之间的关系95 11.5 不要在oopDesc类中定义虚函数96 11.6 对象头97 第12章 HotSpotVM的线程管理 12.1 线程操作的抽象化103 12.2 Thread类103 12.3 线程的生命周期104 12.4 Windows线程的创建107 12.5 Windows线程的处理开始110 12.6 Linux线程的创建113 12.7 开始Linux线程的处理117 第13章 线程的互斥处理 13.1 什么是互斥处理119 13.2 互斥量119 13.3 监视器120 13.4 监视器的实现122 13.5 Monitor类127 13.6 Mutex类129 13.7 MutexLocker类130 第14章 GC线程(并行篇) 14.1 并行执行的流程132 14.2 AbstractWorkGang类136 14.3 AbstractGangTask类137 14.4 GangWorker类137 14.5 并行GC的执行示例138 第15章 GC线程(并发篇) 15.1 ConcurrentGCThread类146 15.2 SuspendibleThreadSet类147 15.3 安全点150 15.4 VM线程152 第16章 并发标记 16.1 并发标记的全貌155 16.2 步骤①——初始标记阶段160 16.3 步骤②——并发标记阶段168 16.4 步骤③——最终标记阶段170 16.5 步骤④——存活对象计数172 16.6 步骤⑤——收尾工作172 第17章 转移 17.1 转移的全貌174 17.2 步骤①——选择回收集合178 17.3 步骤②——根转移181 17.4 步骤③——转移185 第18章 预测与调度 18.1 根据历史记录进行预测187 18.2 并发标记的调度194 18.3 转移的调度195 第19章 准确式GC的实现 19.1 栈图197 19.2 句柄区域与句柄标记209 第20章 写屏障的性能开销 20.1 运行时切换GC算法212 20.2 解释器的写屏障214 20.3 JIT编译器的写屏障216 后记220 参考文献223

深入Java虚拟机:JVM

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件76556431@qq.com投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 神经病犯人
  • 若有所思
  • 离散的风
  • 女孩不可爱矜持在作怪
  • 浮生一梦
  • 信札
  • 小猪崽子
  • 未曾绽放就要枯萎么
  • 闹脾气有脸俩
  • 你本来就很美
  • 怎会哭的像个小孩
  • 你在逃避我在寻找
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!