javac默认将java源码编译为字节码的前段编译器,java虚拟机不和包括java在内的任何语言绑定,它只与"class文件"这种特定的二进制文件格式关联,class文件不一定以磁盘形式存在,class两种数据类型:"无符号数"、"表",无符号数: u1、u2、 u4、u8代表一个字节、两个字节、4个字节、8个字节
Class类文件结构
1)魔数
2)Class文件版本
3)常量池
4)访问标志
5)类索引、父类索引、接口索引集合
6)字段表集合
7)方发表集合
8)属性表集合
1.class文件头四个字节为魔数,
唯一作用:确定文件是否为一个能被虚拟机接收的class文件
2. 魔数后的四个自己为class文件的版本号
第5和第6 个字节为次版本号
第7和第8个字节号为主版本号
3.常量池
字面量
符号引用
解读常量池:>>>
https://blog.csdn.net/weixin_56413264/article/details/126077486