《深入浅出 Java虚拟机设计与实现》

第1章虚拟机架构1

1.1Java与Java虚拟机1

1.1.1设计背景1

1.1.2 Java技术栈的组成要素2

1.1.3 Java字节码3

1.2 Java虚拟机架构5

1.3实例:J语言及其编译7

1.3.1J语言语法7

1.3.2 栈式计算机13

1.3.3 J字节码17

1.3.4 J语言编译到J字节码19

1.4实例:J虚拟机23

1.4.1字节码加载子系统23

1.4.2字节码验证器24

1.4.3解释执行引擎27

第2章类加载器30

2.1实例:Java的类加载30

2.2类的二进制定义32

2.2.1常量池34

2.2.2接口36

2.2.3字段37

2.2.4方法37

2.2.5属性38

2.3方法区41

2.3.1代码区41

2.3.2运行时常量池45

2.3.3类辅助数据结构47

2.4类装载49

2.4.1递归下降装载50

2.4.2接口的装载57

2.4.3数组的装载57

2.4.4基本类的装载59

2.5验证61

2.5.1为什么要进行验证61

2.5.2验证的目标63

2.5.3实例:验证规则63

2.5.4结构化约束68

2.5.5类型推导69

2.6准备75

2.6.1静态字段的准备76

2.6.2非静态字段的准备77

2.6.3虚方法表80

2.7解析86

2.7.1实例:类的解析86

2.7.2类的解析88

2.7.3字段的解析89

2.7.4方法的解析91

2.7.5接口方法的解析98

2.7.6字符串常量的解析100

2.7.7常量池其他表项的解析101

2.8初始化101

2.8.1类初始化方法102

2.8.2类初始化算法103

2.9类加载各阶段的执行顺序110

2.9.1急切策略和惰性策略111

2.9.2类解析和类初始化的耦合性113

2.10自定义类加载器114

2.10.1独立加载模型116

2.10.2双亲委派模型118

2.11实例:类加载器的典型应用123

2.11.1动态代理124

2.11.2热替换133

第3章执行引擎139

3.1栈帧结构139

3.2调用规范140

3.3执行引擎架构141

3.3.1序列式架构142

3.3.2跳转表架构143

3.4执行引擎实现145

3.4.1常量加载指令145

3.4.2数据加载指令147

3.4.3数据存储指令149

3.4.4栈操作指令151

3.4.5数学运算指令152

3.4.6数值转换指令155

3.4.7比较运算指令157

3.4.8控制转移指令159

3.4.9引用指令176

3.4.10扩展与虚拟机保留指令185

3.5本地方法执行引擎187

3.6可重入方法194

3.7汇编模板198

第4章本地方法接口201

4.1实例:Java本地方法201

4.2方法绑定202

4.2.1本地方法的数据结构203

4.2.2动态库加载205

4.2.3动态绑定206

4.2.4静态绑定209

4.3本地方法拦截213

4.3.1拦截机制213

4.3.2耦合性216

4.3.3反射217

4.4本地方法回调Java方法218

4.4.1JNI回调函数220

4.4.2本地方法栈帧223

第5章异常处理226

5.1实例:Java异常处理226

5.2异常栈228

5.3异常表236

5.4栈回滚243

5.5本地方法异常247

5.6其他问题250

5.6.1隐式异常250

5.6.2异常处理与多线程253

5.6.3执行效率254

第6章堆和垃圾收集255

6.1实例:对象与垃圾255

6.1.1语法垃圾与语义垃圾256

6.1.2内存泄漏257

6.2堆258

6.2.1堆数据结构258

6.2.2堆分配接口259

6.3存储布局259

6.3.1对象的存储布局259

6.3.2类的存储布局263

6.3.3数组的存储布局264

6.4垃圾收集265

6.4.1根节点266

6.4.2复制收集270

6.4.3终结276

6.4.4垃圾收集的触发280

6.5本地方法和垃圾收集281

6.5.1局部和全局引用281

6.5.2对象引用相关JNI函数的实现283

6.6其他问题285

6.6.1多线程与垃圾收集285

6.6.2无中断垃圾收集289

6.6.3类型标记291

第7章多线程293

7.1线程语义模型293

7.1.1线程方法293

7.1.2线程状态294

7.1.3实例:线程中断297

7.2管程303

7.2.1管程数据结构303

7.2.2接口与实现307

7.2.3管程指令314

7.2.4管程与对象316

7.3多线程的实现318

7.3.1线程数据结构319

7.3.2创建线程对象321

7.3.3启动323

7.3.4让出325

7.3.5睡眠325

7.3.6中断327

7.3.7停止、挂起和继续335

7.3.8原子性和可见性337

7.3.9 线程与信号338

7.4多线程与虚拟机其他子系统的交互342

7.4.1全局数据结构与锁343

7.4.2类初始化345

7.4.3垃圾收集350

第8章调试357

8.1调试器架构357

8.1.1客户端-服务器架构358

8.1.2JDWP调试协议359

8.1.3数据类型360

8.1.4实例:断点361

8.2调试代理364

8.2.1通信模块365

8.2.2执行引擎模块366

8.2.3对象管理模块370

8.2.4事件处理模块371

8.3实例:jdb调试器376

8.4调试的其他问题384

8.4.1薛定谔困境384

8.4.2调试与安全性386

8.4.3实例:JVM渗透387

2020《深入浅出 Java虚拟机设计与实现》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Java虚拟机规范(1997 PDF版)
Java虚拟机规范
1997 北京:北京大学出版社
深入浅出强化学习编程实战(2020 PDF版)
深入浅出强化学习编程实战
2020
深入浅出大型网站架构设计(2020 PDF版)
深入浅出大型网站架构设计
2020
虚拟机设计与实现  以JVM为例=ADVANCED  DESIGN  AND  IMPLEMENTATION  OF  VIRTUAL  MACHINES(2020 PDF版)
虚拟机设计与实现 以JVM为例=ADVANCED DESIGN AND IMPLEMENTATION OF VIRTUAL MACHINES
2020
工业机器人技术基础及其应用(2020 PDF版)
工业机器人技术基础及其应用
2020
计算机组成虚拟仿真与题解(2020 PDF版)
计算机组成虚拟仿真与题解
2020
Windos NT 深入浅出( PDF版)
Windos NT 深入浅出
深入浅出谈期货( PDF版)
深入浅出谈期货
台芝文化事业有限公司
Windows NT 深入浅出(1998 PDF版)
Windows NT 深入浅出
1998 北京:海洋出版社
虚拟现实(1999 PDF版)
虚拟现实
1999 西安:西北工业大学出版社
Extranet设计与实现(1998 PDF版)
Extranet设计与实现
1998 北京:电子工业出版社
MFC深入浅出 从MFC设计到MFC编程(1999 PDF版)
MFC深入浅出 从MFC设计到MFC编程
1999 武汉市:华中理工大学出版社
深入浅出Visual Basic 6.0中文版(1999 PDF版)
深入浅出Visual Basic 6.0中文版
1999 北京市:人民邮电出版社
计算机网设计与实现(1994 PDF版)
计算机网设计与实现
1994 北京:人民邮电出版社
深入浅出VB5(1998 PDF版)
深入浅出VB5
1998 北京:清华大学出版社