java字节码

java字节码整体结构
在这里插入图片描述
在这里插入图片描述

常量池:紧跟着主版本号之后的就是常量池入口。一个java类中定义的很多信息都是由常量池来维护和描述的,可以将常量池看作是class文件的资源仓库,字节码整体结构的其它内容可以根据索引去常量池中找对应的信息。java类中定义的方法与变量信息,都是存储在常量池中的,不仅仅是存储常量。常量池中主要存储两类常量:字面量与符号引用。字面量如文本字符串,java中声明为final的常量值等;而符号引用如类和接口的全限定名,字段的名称和描述符,方法的名称和描述符等。
在这里插入图片描述
看个例子,看下常量池会维护什么信息
在这里插入图片描述
在这里插入图片描述
字段表
在这里插入图片描述

字段表中描述了字段的访问修饰符,以及字段描述符等信息,所以可以确定字段的信息。
字段表用于描述类和接口中声明的变量,这里的字段包含了类级别的变量以及实例变量,但是不包括方法内部声明的局部变量