# Class 类文件的结构
---
Class文件是一组以字节为基础单位的二进制流。Class文件中各个数据项目严格按照顺序紧凑地排列,数据项目之间不存在任何分隔符号,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用1字节以上空间的数据项时,则按照高位在前的方式分割成多个字节进行存储。
根据Java虚拟机规范的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:无符号数和表。
无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表1字节、2字节、4字节、8字节的无符号数,无符号数可以用来描述数字、索引引用、数量值或者按照UTF-8编码构成字符串值。
表是由多个无符号数或者其他表作为数据项而构成的复合数据类型,所有表都习惯性地以"_info"结尾。表是用于描述有层次关系的复合结构的数据,整�