1.概述
这一章将类文件结构,同时也是讲代码编译从本地机器码转变为字节码的发展。
2.无关性的基石
无关性的基石指什么?
指的是:字节码
字节码无关平台与虚拟机,也就是说所有的平台操作系统和虚拟机都统一使用字节码这种程序存储格式。
而java可以将java代码编译成存储字节码的Class文件。所以java可以跨平台。
3.Class类文件的结构概述
Class文件:是一组以8位字节为基础单位的二进制流(无任何分隔符),各个数据项目严格按照顺序排列在Class文件中(超过占8位字节的数据会分割成多个8位字节进行存储)。
Class文件格式采用类似C语言结构体的伪结构,该结构只有两种数据类型:无符号数、表
无符号数:基本的数据类型(u1、u2、u3、u4代表1字节、2字节、4字节、8字节的无符号数)
表:由多个无符号数或者其他表作为数据项构成的复合数据类型。(一般以“_info”结尾)(所以class文件本质上是一张表)