Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

深入浅出:Java虚拟机设计与实现 PDF 下载


分享到:
时间:2021-12-21 10:09来源:http://www.java1234.com 作者:转载  侵权举报
深入浅出:Java虚拟机设计与实现 PDF 下载
失效链接处理
深入浅出:Java虚拟机设计与实现 PDF 下载


本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
 
 
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/28542172.html
  
相关截图:



资料简介:
《深入浅出:Java虚拟机设计与实现》由国内编译器和虚拟机方面的研究者执笔,详细介绍了 Java 虚拟机设计与实现的各个方面,并给出了相关算法的实现。全书围绕虚拟机架构,讨论了虚拟机中的所有重要组件,包括类加载器、执行引擎、本地方法接口、异常处理、堆和垃圾收集、多线程及调试。
《深入浅出:Java虚拟机设计与实现》不仅关注对技术本身的介绍,还重点强调了这些技术所涉及的知识对读者进一步掌握工具和提高软件设计水平的重要作用,并给出了丰富的示例和*佳实践。
《深入浅出:Java虚拟机设计与实现》适合 Java 程序员、对编译器和虚拟机底层技术感兴趣的工程人员,以及高等院校计算机相关专业的学生阅读。


资料目录:
前 言
第 1 章 虚拟机架构 /1
1.1 Java 与 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.1 J 语言语法 /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.1 JNI 回调函数 /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.2 JDWP 调试协议 /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

 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐