新書推薦: 
			  
			《 
			甲骨文丛书·尼罗河的源头:非洲大湖地区两千年
			》 
			 售價:HK$ 
			107.8
			 
			 
	
			  
			《 
			一语胜万言
			》 
			 售價:HK$ 
			49.5
			 
			 
	
			  
			《 
			朱子的穷理工夫论 , 香江哲学丛书
			》 
			 售價:HK$ 
			104.5
			 
			 
	
			  
			《 
			雾越邸暴雪谜案:全2册(綾辻行人作品)
			》 
			 售價:HK$ 
			141.9
			 
			 
	
			  
			《 
			数据资产:从价值评估到价值管理(数字化转型与企业高质量发展)
			》 
			 售價:HK$ 
			74.8
			 
			 
	
			  
			《 
			时代狂澜与士人心波:晚明传奇中的情与理研究
			》 
			 售價:HK$ 
			96.8
			 
			 
	
			  
			《 
			日本侵华战争及其战后遗留问题和影响
			》 
			 售價:HK$ 
			74.8
			 
			 
	
			  
			《 
			敢于愤怒:正确发脾气,更有利于解决问题
			》 
			 售價:HK$ 
			65.8
			 
			 
	
 
       | 
     
      
      
         
          | 編輯推薦: | 
         
         
           
            结合实用JVM,图解Java垃圾回收机制的关键技术!
 ·90张图表+33段代码,轻松理解G1GC算法原理
 ·HotSpotVM源码剖析,深入探讨G1GC具体实现
 1.深入Java虚拟机底层原理,详细解读经典GC算法;
 2.理论结合实际,基于HotSpotVM源码探讨具体实现;
 3.图文并茂、深入浅出,辅以大量插图和代码细致讲解。
           | 
         
       
      
      
      
      
         
          | 內容簡介: | 
         
         
           
            本书深入Java虚拟机底层原理,对JVM内存管理中的垃圾回收算法G1GC进行了详细解读。全书分为“算法篇”和“实现篇”两大部分:前一部分主要介绍G1GC的算法原理,内容包括G1GC的并发标记、转移功能、软实时性的实现和分代G1GC模式;后一部分聚焦算法篇中没有详细讲解的实现部分,基于HotSpotVM源码,讲解对象管理功能、内存分配器的机制、线程管理方法和G1GC的具体实现。
來源:香港大書城megBookStore,http://www.megbook.com.hk 本书以图配文,通俗易懂,既系统介绍了G1GC的基础算法,又贴近现实,剖析了实用JVM中的G1GC实现,同时还包含了作者对G1GC的研究成果和独到见解,是深入理解JVM和G1GC机制的佳作。
           | 
         
       
      
      
      
         
          | 關於作者: | 
         
         
           
            中村成洋(作者)  生于1985年。日本网络应用通信研究所研究员。因为偶然的机会对GC产生浓厚兴趣,本人却说不清为何喜欢GC,被人追问原因时,总是回答“是缘分”。现在是CRuby的committer,每天致力于GC的改善。著有《垃圾回收的算法与实现》。 吴炎昌(译者) 毕业于西北工业大学软件工程专业,曾供职于多家日本软件公司,从事系统开发工作。2015年回国后加入美团点评,现任系统研发工程师。爱好旅行、电影和品尝各种美食,有一位志趣相投的伴侣。
           | 
         
       
      
      
      
      
         
          | 目錄: 
           | 
         
         
           
            算法篇
 第 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 什么是HotSpotVM 58
 7.2 什么是OpenJDK 58
 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 TLAB 90
 第 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
           | 
         
       
      
      
        
     |