zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【jvm我能讲两小时001】谈谈你对class文件的了解

JVM文件 了解 Class 小时 谈谈 001 我能
2023-09-27 14:29:28 时间

谈谈你对class文件的了解

image-20220317222547912

image-20220317222604128

class文件是以一组8个字节为基础单位的二进制流,各个数据项严格按照顺序紧凑排列在文件中,中间没有任何分隔符,这使得class文件存储的都是程序运行的必要数据,没有空隙存在.

class文件格式采用一种类似c语言结构体的伪结构体老存储数据,这种伪结构体只包含2种数据类型:无符号数和表

无符号数属于基本的数据类型,以u1,u2,u4,u8分别来表示1个字节,2个字节,4个字节,8个字节的无符号数.无符号数可以用来描述数字,索引引用,数量值或者按照utf-8编码构成的字符串值.

表是由多个无符号数或者其他表作为数据项构成的复合型数据结构,为了便于区分,表通常以_info结尾.用于描述复杂的结构,整个class文件可以看成一个大表.如上图所示.