首页 > 代码库 > Class文件
Class文件
class文件是以8位字节为基础单位的二进制流,数据项按照顺序存储在class文件中,相邻的项之间没有任何间隔。占据多个字节的项按照高位在前的顺序分为几个连接的字节存放。可变长度项的大小和长度位于其实际数据之前。这个特性使得class文件流可以从头到尾被顺序解析,首先读出项的大小,然后读出项的数据。
class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构只有两种数据类型:无符号数和表。
无符号数属于基本数据类型,u1,u2,u4,u8分别代表1,2,4,8个字节长度的无符号数。
表是由多个无符号数或者其他表作为数据项构成的复合数据类型,所有表都习惯性得以_info结尾。表用于描述有层次关系的复合结构的数据,整个class文件本质上就是一张表。
数据项类型 | 数据项名称 | 该名称数据项的个数 |
u4 | magic (魔数) | 1 |
u2 | minor_version(次版本号) | 1 |
u2 | major_version(主版本号) | 1 |
u2 | constant_pool_count(常量池计数) | 1 |
cp_info | constant_pool(常量池) | constant_pool_count-1 |
Class文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。