深入理解JVM:类文件结构
无关性的基石
- 无关性:即与平台无关,“一次编写,到处运行(Write Once,Run Anywhere)”;
- 无关性的基石:字节码(Byte Code):
- 各种不同平台的Java虚拟机,以及所有平台都统一支持的程序存储格式;
Java虚拟机不与包括Java语言在内的任何程序语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集、符号表以及若干其他辅助信息。
Class类文件的结构
魔数与Class文件的版本
常量池
访问标志
类索引、父类索引与接口索引集合
字段表集合
方法表集合
属性表集合
字节码指令简介
6.4.1 字节码与数据类型 6.4.2 加载和存储指令 6.4.3 运算指令 6.4.4 类型转换指令 6.4.5 对象创建与访问指令 6.4.6 操作数栈管理指令 6.4.7 控制转移指令 6.4.8 方法调用和返回指令 6.4.9 异常处理指令 6.4.10 同步指令