Class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项之间没有任何分隔符,整个 Class 文件中存储的数据无论顺序还是数量都是严格限定的,第几个直接表示什么含义都是规定好的,不然无法识别,下图就是 Class 文件格式
- Class 文件采用的数据结构有两种数据类型:无符号数和表
1)无符号数是基本数据类型,用来描述数字、索引引用、数量值、字符串值
2)表是由多个无符号数或其他表作为数据项构成的复合数据类型,所有表都是以_info 结尾,整个 Class 文件本质上就是一张表 - 无符号数和表都有集合,使用一个前置容量计数器 +N 个无符号数或者表组成
- 魔数的作用是用于确定这个文件是否是一个能被虚拟机接受的 Class 文件,这和图片格式存储标准是一样的,图片开头也有魔数来表示我是一个图片,Class 文件魔数是 0xCAFEBABE(咖啡宝贝)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于