全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 硬件及维护

新一代垃圾回收器ZGC设计与实现/Java核心技术系列

  • 定价: ¥89
  • ISBN:9787111633655
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:机械工业
  • 页数:203页
  • 作者:彭成寒
  • 立即节省:
  • 2019-09-01 第1版
  • 2019-09-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    自Java中引入垃圾回收器以来,垃圾回收器的发展从未停止过。Java中成熟的垃圾回收器有:串行垃圾回收器、并行垃圾回收器、并发标记回收器(Concurrent Mark Sweep,CMS)、垃圾优先回收器(Garbage First,G1)。在JDK 11中引入了一款新的垃圾回收器——ZGC。
    虽然新的垃圾回收器不断地涌现,但是垃圾回收的基本算法变化并不大。简单来说,回收算法主要有:复制、标记清除、标记压缩。JVM中不同的垃圾回收器都是基于这些基本算法实现的,不同的垃圾回收器的区别在于选择的算法不同,实现时后台线程采用的并行/并发方式不同。本书尝试对ZGC的算法实现进行分解,逐步揭开垃圾回收器的算法内幕,然后再给出调优方法。

作者简介

    彭成寒,高级Java工程师,目前主要从事风控系统设计、算法建模、大数据处理等工作。有超过10年的Java和C++开发经验。

目录

前言
第1章  垃圾回收器概述
  1.1  垃圾回收算法
  1.2  JVM垃圾回收器
    1.2.1  串行回收
    1.2.2  并行回收
    1.2.3  CMS
    1.2.4  G
    1.2.5  ZGC
    1.2.6  Shenandoah
第2章  ZGC内存管理
  2.1  操作系统地址管理
  2.2  ZGC内存管理
    2.2.1  多视图映射
    2.2.2  ZGC多视图映射
    2.2.3  页面设计
    2.2.4  对NUMA的支持
    2.2.5  ZGC中的物理内存管理
    2.2.6  ZGC中的虚拟内存管理
    2.2.7  ZGC内存预分配
  2.3  ZGC对象分配管理
    2.3.1  对象空间分配
    2.3.2  页面分配
第3章  ZGC线程
  3.1  线程的基本概念
  3.2  控制线程
    3.2.1  时钟触发器
    3.2.2  消息触发
    3.2.3  VMThread
  3.3  工作线程
  3.4  垃圾回收触发的时机
第4章  ZGC垃圾回收算法的设计
  4.1  并发垃圾回收算法
    4.1.1  并发垃圾回收算法概述
    4.1.2  ZGC并发算法的设计
  4.2  并发处理
    4.2.1  并发处理概述
    4.2.2  ZGC并发处理算法
    4.2.3  ZGC并发处理算法演示
第5章  ZGC垃圾回收算法的实现
  5.1  垃圾回收的实现
    5.1.1  初始标记
    5.1.2  并发标记
    5.1.3  再标记和非强根并行标记
    5.1.4  非强引用并发标记和引用并发处理
    5.1.5  重置转移集
    5.1.6  回收无效的页面
    5.1.7  选择待回收的页面
    5.1.8  初始化待转移集合的转移表
    5.1.9  初始转移
    5.1.10  并发转移
    5.1.11  垃圾回收算法再讨论
  5.2  垃圾回收算法演示
第6章  ZGC日志解读
  6.1  Xlog简介
  6.2  测试用例设计
  6.3  ZGC初始化信息
  6.4  垃圾回收触发信息
  6.5  垃圾回收过程中每一步的信息
  6.6  统计信息
    6.6.1  垃圾回收器信息
    6.6.2  竞争信息
    6.6.3  同步等待信息
    6.6.4  内存信息
    6.6.5  垃圾回收步骤信息
    6.6.6  子阶段信息
    6.6.7  线程信息
第7章  ZGC参数和基准测试
  7.1  参数简介
    7.1.1  ZGC新引入参数
    7.1.2  GC通用参数
  7.2  测试评估
    7.2.1  测试准备
    7.2.2  测试与测试报告
第8章  ZGC的发展与展望
  8.1  类回收
  8.2  单代回收
  8.3  新功能和多平台
第9章  JVM编译调试
  9.1  下载源代码
  9.2  代码概览
  9.3  编译JVM
  9.4  调试ZGC
    9.4.1  启动GDB
    9.4.2  对象分配
    9.4.3  触发垃圾回收
    9.4.4  初始标记
    9.4.5  并发标记
    9.4.6  初始转移
    9.4.7  并发转移
    9.4.8  重定位
  9.5  使用HSDB学习JVM中对象布局
    9.5.1  C 对象布局原理
    9.5.2  Java对象布局原理
    9.5.3  用HSDB分析Java对象布局
第10章  Shenandoah简介
  10.1  概述
  10.2  Shenandoah垃圾回收策略
  10.3  Shenandoah垃圾回收算法
    10.3.1  正常回收算法
    10.3.2  遍历回收算法
附录A Cassandra简介
附录B YCSB简介