前言
相信大部分人都知道JVM是什么,定义很简单,就是Java虚拟机的缩写,一种用于计算设备的规范,是一个虚构出来的计算机。但是对于如何运行、处理的细节,大部分人可能就觉得没那么简单了。
今天,我们就来介绍一本学习JVM设计原理及实现的秘籍,相信你看过以后一定会有所收益的。
目录
第1章Java虚拟机概述
- 从机器语言到Java——詹爷,你好
- 兼容的选择: 一场生产力的革命
- 中间语言翻译
- 神奇的指令
- 本章总结
第2章Java执行引擎工作原理:方法调用
- 方法调用
- JVM的函数调用机制
- 函数指针
- CallStub函数指针定义
- Call stub entry例程
- 本章总结
第3章Java数据结构与面向对象
- 从Java算法到数据结构
- 数据类型简史
- Java数据结构之偶然性
- Java类型识别
- 大端与小端
- 本章总结
第4章 Java字节码实战
- 字节码格式初探
- 魔数与版本
- 常量池
- 访问标识与继承信息
- 字段信息
- 方法信息
- 本章回顾
第5章常量池解析:
- 常量池内存分配
- oop-klass模型
- 常量池klass模型(1)
- 常量池klass模型(2)
- 常量池解析
- 本章总结
第6章类变量解析
- 美变量解析
- 偏移量
- 从源码看字段继承
- 本章总结
第7章Java栈帧
- entry_ point例程生成
- 局部变量表创建
- 堆栈与栈帧
- JVM的栈帧
- 栈帧深度与slot复用
- 最大操作数栈与操作数栈复用
- 本章总结
第8章类方法解析
- 方法签名解析与校验
- 方法属性解析
- 创建methodOop
- Java方法属性复制
- <clinit>与< init>
- 查看运行时字节码指令
- vtable
- 本章总结
第9章执行引擎
- 执行引擎概述
- 取指
- 译码
- 栈顶缓存
- 栈式指令集
- 操作数栈在哪里
- 栈帧重叠
- entry_ point例程机器指令
- 执行引擎实战
- 字节码指令实现
- 本章总结
第10章类的生命周期
- 类的生命周期概述
- 类加载
- 类的初始化
- 类加载器
- 类实例分配
- 本章总结