字节码文件可以使用 jclasslib
查看
魔数可以确定文件类型,我们可以使用文件的头几个字节确定文件类型,如果软件不支持该种类型就会出错;
主副版本号指的是编译字节码文件的 JDK 版本号,可以用来判断是否和运行时的 JDK 相兼容;主版本号用来标识大版本号,副版本号是当主版本号相同时作为区分不同版本的标识,一般只要关心主版本号
主版本号 - 44 = 大版本号
当出现版本号不兼容问题时:
保存了字符串常量、类或接口名、字段名,主要在字节码指令中使用,避免相同的信息重复定义,节省空间
当前类或接口声明的字段信息
字节码中的方法区域是存放字节码指令的核心位置,字节码指令的内容存放在方法的 Code 属性中。
操作数栈是临时存放数据的地方,局部变量表是存放方法中的局部变量的位置。