揭秘Java虚拟机 JVM设计原理与实现PDF电子书下载
- 电子书积分:19 积分如何计算积分?
- 作 者:封亚飞著
- 出 版 社:北京:电子工业出版社
- 出版年份:2017
- ISBN:9787121315411
- 页数:662 页
第1章 Java虚拟机概述 1
1.1 从机器语言到Java——詹爷,你好 1
1.2 兼容的选择:一场生产力的革命 6
1.3 中间语言翻译 10
1.3.1 从中间语言翻译到机器码 11
1.3.2 通过C程序翻译 11
1.3.3 直接翻译为机器码 13
1.3.4 本地编译 16
1.4 神奇的指令 18
1.4.1 常见汇编指令 20
1.4.2 JVM指令 21
1.5 本章总结 24
第2章 Java执行引擎工作原理:方法调用 25
2.1 方法调用 26
2.1.1 真实的机器调用 26
2.1.2 C语言函数调用 41
2.2 JVM的函数调用机制 47
2.3 函数指针 53
2.4 CallStub函数指针定义 60
2.5 _call_stub_entry例程 72
2.6 本章总结 115
第3章 Java数据结构与面向对象 117
3.1 从Java算法到数据结构 118
3.2 数据类型简史 122
3.3 Java数据结构之偶然性 129
3.4 Java类型识别 132
3.4.1 class字节码概述 133
3.4.2 魔数与JVM内部的int类型 136
3.4.3 常量池与JVM内部对象模型 137
3.5 大端与小端 143
3.5.1 大端和小端的概念 146
3.5.2 大小端产生的本质原因 148
3.5.3 大小端验证 149
3.5.4 大端和小端产生的场景 151
3.5.5 如何解决字节序反转 154
3.5.6 大小端问题的避免 156
3.5.7 JVM对字节码文件的大小端处理 156
3.6 本章总结 159
第4章 Java字节码实战 161
4.1 字节码格式初探 161
4.1.1 准备测试用例 162
4.1.2 使用javap命令分析字节码文件 162
4.1.3 查看字节码二进制 165
4.2 魔数与版本 166
4.2.1 魔数 168
4.2.2 版本号 168
4.3 常量池 169
4.3.1 常量池的基本结构 169
4.3.2 JVM所定义的11种常量 170
4.3.3 常量池元素的复合结构 170
4.3.4 常量池的结束位置 172
4.3.5 常量池元素总数量 172
4.3.6 第一个常量池元素 173
4.3.7 第二个常量池元素 174
4.3.8 父类常量 174
4.3.9 变量型常量池元素 175
4.4 访问标识与继承信息 177
4.4.1 access_flags 177
4.4.2 this_class 178
4.4.3 super_class 179
4.4.4 interface 179
4.5 字段信息 180
4.5.1 fields_count 180
4.5.2 field_info fields[fields_count] 181
4.6 方法信息 185
4.6.1 methods_count 185
4.6.2 method_info methods[methods_count] 185
4.7 本章回顾 205
第5章 常量池解析 206
5.1 常量池内存分配 208
5.1.1 常量池内存分配总体链路 209
5.1.2 内存分配 215
5.1.3 初始化内存 223
5.2 oop-klass模型 224
5.2.1 两模型三维度 225
5.2.2 体系总览 227
5.2.3 oop体系 229
5.2.4 klass体系 231
5.2.5 handle体系 234
5.2.6 oop、klass、handle的相互转换 239
5.3 常量池klass模型(1) 244
5.3.1 klassKlass实例构建总链路 246
5.3.2 为klassOop申请内存 249
5.3.3 klassOop内存清零 253
5.3.4 初始化mark 253
5.3.5 初始化klassOop._metadata 258
5.3.6 初始化klass 259
5.3.7 自指 260
5.4 常量池klass模型(2) 261
5.4.1 constantPoolKlass模型构建 261
5.4.2 constantPoolOop与klass 264
5.4.3 klassKlass终结符 267
5.5 常量池解析 267
5.5.1 constantPoolOop域初始化 268
5.5.2 初始化tag 269
5.5.3 解析常量池元素 271
5.6 本章总结 279
第6章 类变量解析 280
6.1 类变量解析 281
6.2 偏移量 285
6.2.1 静态变量偏移量 285
6.2.2 非静态变量偏移量 287
6.2.3 Java字段内存分配总结 312
6.3 从源码看字段继承 319
6.3.1 字段重排与补白 319
6.3.2 private字段可被继承吗 325
6.3.3 使用HSDB验证字段分配与继承 329
6.3.4 引用类型变量内存分配 338
6.4 本章总结 342
第7章 Java栈帧 344
7.1 entry_point例程生成 345
7.2 局部变量表创建 352
7.2.1 constMethod的内存布局 352
7.2.2 局部变量表空间计算 356
7.2.3 初始化局部变量区 359
7.3 堆栈与栈帧 368
7.3.1 栈帧是什么 368
7.3.2 硬件对堆栈的支持 387
7.3.3 栈帧开辟与回收 390
7.3.4 堆栈大小与多线程 391
7.4 JVM的栈帧 396
7.4.1 JVM栈帧与大小确定 396
7.4.2 栈帧创建 399
7.4.3 局部变量表 421
7.5 栈帧深度与slot复用 433
7.6 最大操作数栈与操作栈复用 436
7.7 本章总结 439
第8章 类方法解析 440
8.1 方法签名解析与校验 445
8.2 方法属性解析 447
8.2.1 code属性解析 447
8.2.2 LVT&LVTT 449
8.3 创建methodOop 455
8.4 Java方法属性复制 459
8.5 <clinit>与<init> 461
8.6 查看运行时字节码指令 482
8.7 vtable 489
8.7.1 多态 489
8.7.2 C++中的多态与vtable 491
8.7.3 Java中的多态实现机制 493
8.7.4 vtable与invokevirtual指令 500
8.7.5 HSDB查看运行时vtable 502
8.7.6 miranda方法 505
8.7.7 vtable特点总结 508
8.7.8 vtable机制逻辑验证 509
8.8 本章总结 511
第9章 执行引擎 513
9.1 执行引擎概述 514
9.2 取指 516
9.2.1 指令长度 519
9.2.2 JVM的两级取指机制 527
9.2.3 取指指令放在哪 532
9.2.4 程序计数器在哪里 534
9.3 译码 535
9.3.1 模板表 535
9.3.2 汇编器 540
9.3.3 汇编 549
9.4 栈项缓存 558
9.5 栈式指令集 565
9.6 操作数栈在哪里 576
9.7 栈帧重叠 581
9.8 entry_point例程机器指令 586
9.9 执行引擎实战 588
9.9.1 一个简单的例子 588
9.9.2 字节码运行过程分析 590
9.10 字节码指令实现 597
9.10.1 iconst_3 598
9.10.2 istore_0 599
9.10.3 iadd 600
9.11 本章总结 601
第10章 类的生命周期 602
10.1 类的生命周期概述 602
10.2 类加载 605
10.2.1 类加载——镜像类与静态字段 611
10.2.2 Java主类加载机制 617
10.2.3 类加载器的加载机制 622
10.2.4 反射加载机制 623
10.2.5 impor与new指令 624
10.3 类的初始化 625
10.4 类加载器 628
10.4.1 类加载器的定义 628
10.4.2 系统类加载器与扩展类加载器创建 634
10.4.3 双亲委派机制与破坏 636
10.4.4 预加载 638
10.4.5 引导类加载 640
10.4.6 加载、链接与延迟加载 641
10.4.7 父加载器 645
10.4.8 加载器与类型转换 648
10.5 类实例分配 649
10.5.1 栈上分配与逃逸分析 652
10.5.2 TLAB 655
10.5.3 指针碰撞与eden区分配 657
10.5.4 清零 658
10.5.5 偏向锁 658
10.5.6 压栈与取指 659
10.6 本章总结 661
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《高等院校保险学专业系列教材 保险学原理与实务》林佳依责任编辑;(中国)牟晓伟,李彤宇 2019
- 《书林学步》李雄飞著 2019
- 《中国二氧化碳减排和环境协同效益评价模型的构建与研究》杨曦,滕飞著 2019
- 《民法强制性规范研究》郭少飞著 2019
- 《晚期中古史存稿》胡耀飞著 2019
- 《第十一次真相》赤蝶飞飞著 2020
- 《灵魂 悲歌祭柴科夫斯基的一剧三曲》沈希飞著 2016
- 《天才鉴定历史档案》贾飞著 2019
- 《明清时期山东运河区域民间信仰研究》胡梦飞著 2019
- 《卸妆》岑玲飞著 2018
- 《农村土地确权流转改革背景下的基层治理创新研究》华彦玲;王江飞著 2016
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017