文明需要创造,也需要传承。JVM作为一款虚拟机,本身便是技术之集大成者,里面包含方方面面的底层技术知识。抛开如今Java如日中天之态势不说,纯粹从技术层面看,JVM也值得广大技术爱好者深入研究。可以说,从最新的硬件特性,到最新的软件技术,只要技术被证明是成熟的,都会在JVM里面见到其踪影。JDK的每一次更新,从内部到核心类库,JVM都会及时引人这些最新的技术或者算法,这便是技术传承意义之所在。随着云计算、大数据、人工智能等最新技术的发展,Java技术生态圈也日益庞大,JVM与底层平台以及与其他编程语言和技术的交互、交织日益深人,这些都离不开对JVM内部机制的深入理解。如果说以前在中间件与框架领域的大展身手,依靠的是Java语言层面的特性和技术,那么以后越来越多的技术红利将合因πVM层面六创新而得以显现
现在给大家分享一篇深入理解揭秘Java虚拟机JVM设计原理与实现
第一章:Java虚拟机概述
1、从机器语言到Java——詹爷,你好
2、兼容的选择:——场生产力的革命
3、中间语言翻译
4、神奇的指令
5、本章总结
第二章:Java执行引擎工作原理:方法调用
1、方法调用
2、JVM的函数调用机制
3、函数指针
4、CallStub函数指针定义
5、-call-stub-entry例程
6、本章总结
第三章:Java数据结构与面向对象
1、从Java算法到数据结构
2、数据类型简史
3、Java数据结构之偶然性
4、Java类型识别
5、大端与小端
6、本章总结
第四章:Java字节码实战
1、字节码格式初探
2、魔术与版本
3、常量池
4、访问标识与继承信息
5、字段信息
6、方法信息
7、本章回顾
第五章:常量池解析
1、常量池内存分配
2、oop-klass模型
3、常量池klass模型(1)
4、常量池klass模型(2)
5、常量池解析
6、本章总结
第六章:类变量解析
1、类变量解析
2、偏移量
3、从源码看字段继承
4、本章总结
第七章:Java栈帧
1、entry-point例程生成
2、局部变量表创建
3、堆栈与栈帧
4、JVM的栈帧
5、.栈帧深度与slot复用
6、最大操作数栈与操作栈复用
7、本章总结
第八章:类方法解析
1、方法签名解析与校验
2、方法属性解析
3、创建methodOop
4、Java方法属性复制
5、 <clinit>与 <init>
6、查看运行时字 节码指令
7、vtable
8、本站总结
第九章:执行引擎
1、 执行引擎概述
2、取指
3、译码
4、栈顶缓存
5、栈式指 令集
6、操作数栈在哪里.
7、栈帧 重叠
8、entry_point例程机器指令
9、执行引擎实践
10、字码节指令实现
11、本章总结
第十章:类的生命周期
1、类的生命周期概述
2、类加载
3、类的初始化
4、类加载器
5、类实例分配
6、本章中介