内容简介
本书是一本面向Java开发者和系统编程爱好者的实战指南,旨在通过手把手构建一个简易的Java虚拟机(JVM),帮助读者深入理解JVM的核心原理与实现机制。全书从零开始,逐步解析JVM的类加载、指令集、执行引擎、垃圾回收、堆栈管理等关键模块,并配合丰富的代码示例和调试技巧,让读者在动手实践中掌握JVM底层运作的奥秘。
书中内容覆盖了Java虚拟机规范的重要部分,包括类文件结构、字节码指令、运行时数据区、方法调用与返回、异常处理等。作者以清晰的思路和循序渐进的方式,引导读者从简单的命令行解释器开始,逐步扩展到一个功能相对完整的JVM实现。同时,本书也探讨了性能优化、内存管理和并发控制等高级话题,帮助读者建立系统化的JVM知识体系。
无论你是希望提升Java编程技能的开发者,还是对虚拟机技术有浓厚兴趣的研究者,本书都是一份极具价值的参考。通过亲手编写一个可运行的JVM,你将彻底告别对黑盒的恐惧,真正理解Java跨平台运行的奥秘,并为深入理解更复杂的工业级JVM(如HotSpot)打下坚实基础。
目录
第1章 命令行工具
1.1 准备工作
1.2 java命令
1.3 编写命令行工具
1.4 测试本章代码
1.5 本章小结
第2章 搜索class文件
2.1 类路径
2.2 准备工作
2.3 实现类路径
2.4 测试本章代码
2.5 本章小结
第3章 解析class文件
3.1 class文件
3.2 解析class文件
3.3 解析常量池
3.4 解析属性表
3.5 测试本章代码
3.6 本章小结
第4章 运行时数据区
4.1 运行时数据区概述
4.2 数据类型
4.3 实现运行时数据区
4.4 测试本章代码
4.5 本章小结
第5章 指令集和解释器
5.1 字节码和指令集
5.2 指令和指令解码
5.3 常量指令
5.4 加载指令
5.5 存储指令
5.6 栈指令
5.7 数学指令
5.8 类型转换指令
5.9 比较指令
5.10 控制指令
5.11 扩展指令
5.12 解释器
5.13 测试本章代码
5.14 本章小结
第6章 类和对象
6.1 方法区
6.2 运行时常量池
6.3 类加载器
6.4 对象、实例变量和类变量
6.5 类和字段符号引用解析
6.6 类和对象相关指令
6.7 测试本章代码
6.8 本章小结
第7章 方法调用和返回
7.1 方法调用概述
7.2 解析方法符号引用
7.3 方法调用和参数传递
7.4 返回指令
7.5 方法调用指令
7.6 改进解释器
7.7 测试方法调用
7.8 类初始化
7.9 本章小结
第8章 数组和字符串
8.1 数组概述
8.2 数组实现
8.3 数组相关指令
8.4 测试数组
8.5 字符串
8.6 测试字符串
8.7 本章小结
第9章 本地方法调用
9.1 注册和查找本地方法
9.2 调用本地方法
9.3 反射
9.4 字符串拼接和String.intern()方法
9.5 Object.hashCode()、equals()和toString()
9.6 Object.clone()
9.7 自动装箱和拆箱
9.8 本章小结
第10章 异常处理
10.1 异常处理概述
10.2 异常抛出
10.3 异常处理表
10.4 实现athrow指令
10.5 Java虚拟机栈信息
10.6 测试本章代码
10.7 本章小结
第11章 结束
11.1 System类是如何被初始化的
11.2 初始化System类
11.3 System.out.println()是如何工作的
11.4 测试本章代码
11.5 总结
附录 指令表
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
⚠ 网盘链接如果失效了请尝试其他网盘,不再补链,因为补了也会再次失效。
免责申明:
1. 本站分享的所有书籍均来源于自互联网,部分书籍中可能有压制者放置的广告,这并不是本站所为,请注意甄别。
2. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
3. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
4. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
5. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。