《深入解析Java虚拟机HotSpot》PDF电子书免费下载

作者:  杨易

出版社: 机械工业出版社

出版年: 2020年12月

ISBN: 9787111670315

~~滚到底部有网盘下载链接~~

内容简介

目录

前  言
第1章 Java大观园 1
1.1 OpenJDK 1
1.2 JEP 2
1.3 Java虚拟机 4
1.4 HotSpot VM 5
1.4.1 源码模块 7
1.4.2 构建和调试 7
1.4.3 回归测试 12
1.5 Graal VM 14
1.6 本章小结 16
第2章 类可用机制 17
2.1 类的加载 17
2.1.1 字节码 17
2.1.2 类加载器 19
2.1.3 文件解析 21
2.2 类的链接 23
2.2.1 字节码验证 24
2.2.2 字节码重写 24
2.2.3 方法链接 26
2.3 类的初始化 32
2.4 类的重定义 35
2.5 本章小结 36
第3章 对象和类 38
3.1 对象与类 38
3.2 对象 39
3.2.1 创建对象 39
3.2.2 对象头 41
3.2.3 对象哈希值 43
3.3 类 44
3.3.1 字段遍历 45
3.3.2 虚表 46
3.4 本章小结 48
第4章 运行时 49
4.1 线程创生纪 49
4.1.1 容器化支持 51
4.1.2 Java线程 52
4.1.3 虚拟机线程 54
4.1.4 编译器线程 57
4.1.5 服务线程 58
4.1.6 计时器线程 58
4.2 Java线程 58
4.2.1 线程启动 60
4.2.2 线程停止 61
4.2.3 睡眠与中断 63
4.3 栈帧 66
4.4 Java/JVM沟通 68
4.4.1 JNI 69
4.4.2 JavaCalls 72
4.5 Unsafe类 74
4.5.1 堆外内存 75
4.5.2 内存屏障 75
4.5.3 阻塞和唤醒 76
4.5.4 对象数据修改 76
4.6 本章小结 77
第5章 模板解释器 78
5.1 解释器体系 78
5.1.1 C 解释器行为 78
5.1.2 模板解释器行为 79
5.2 机器代码片段 81
5.3 CodeCache 82
5.4 指令缓存刷新 84
5.5 解释器生成 86
5.5.1 普通方法入口 86
5.5.2 方法加锁 89
5.5.3 本地方法入口 90
5.5.4 标准字节码 91
5.5.5 非标准字节码 106
5.6 本章小结 107
第6章 并发设施 108
6.1 指令重排序 108
6.1.1 编译器重排序 109
6.1.2 处理器重排序 110
6.2 内存模型 112
6.2.1 happens-before内存模型 113
6.2.2 Java内存模型 114
6.3 基础设施 116
6.3.1 原子操作 116
6.3.2 ParkEvent 116
6.3.3 Parker 118
6.3.4 Monitor 120
6.4 锁优化 126
6.4.1 偏向锁 127
6.4.2 基本对象锁 128
6.4.3 重量级锁 128
6.4.4 RTM锁 131
6.5 本章小结 132
第7章 编译概述 133
7.1 编译器简介 133
7.1.1 运行时代码生成 134
7.1.2 JIT编译器 135
7.1.3 AOT编译器 136
7.1.4 JVMCI JIT编译器 136
7.2 即时编译技术 137
7.2.1 分层编译 137
7.2.2 栈上替换 138
7.2.3 退优化 139
7.3 编译理论基础 139
7.3.1 中间表示 139
7.3.2 基本块与控制流图 140
7.3.3 静态单赋值 142
7.3.4 规范化 142
7.3.5 值编号 143
7.3.6 自顶向下重写系统 144
7.3.7 循环不变代码外提概述 144
7.4 调试方法 145
7.4.1 编译日志 145
7.4.2 编译神谕 146
7.4.3 可视化工具 146
7.5 本章小结 149
第8章 C1编译器 150
8.1 编译流程 150
8.1.1 进入C1 150
8.1.2 高级中间表示 152
8.1.3 低级中间表示 153
8.2 从字节码到HIR 155
8.2.1 识别基本块 155
8.2.2 抽象解释 156
8.3 HIR代码优化 158
8.3.1 规范化 158
8.3.2 内联 159
8.3.3 基本块优化 160
8.3.4 值编号 160
8.3.5 数组范围检查 162
8.3.6 循环不变代码外提 162
8.4 从HIR到LIR 164
8.4.1 return生成 165
8.4.2 new生成 165
8.4.3 goto生成 166
8.4.4 线性扫描寄存器分配 167
8.5 本章小结 171
第9章 C2编译器 172
9.1 编译流程 172
9.1.1 进入C2 172
9.1.2 理想图 174
9.1.3 理想图流程概述 180
9.1.4 C2代码优化 183
9.1.5 代码生成流程 185
9.1.6 设置机器代码 186
9.2 构造理想图 187
9.2.1 构造示例 187
9.2.2 Identity、Ideal、GVN 191
9.3 机器无关优化 193
9.3.1 IGVN 193
9.3.2 逃逸分析 194
9.3.3 向量化 197
9.4 代码生成 199
9.4.1 指令选择 199
9.4.2 图着色寄存器分配 200
9.5 本章小结 203
第10章 垃圾回收 204
10.1 垃圾回收基础概述 204
10.1.1 GC Root 205
10.1.2 安全点 206
10.1.3 线程局部握手 208
10.1.4 GC屏障 209
10.2 Epsilon GC 209
10.2.1 源码结构 209
10.2.2 EpsilonHeap 210
10.2.3 对象分配 211
10.2.4 回收垃圾 212
10.3 Serial GC 212
10.3.1 弱分代假说
显示部分信息

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?