image.png

  1. public class TestA {
  2. static String nameA="agan";
  3. static final String nameB = "agan";
  4. String nameC="agan";
  5. public void test(){
  6. String b="agan";
  7. }
  8. }

image.png

类型信息

对每个加载的类型(类class、接口interface、枚举enum、注解annotation),JVM必须在方法区中存储以下类型信息:
这个类型的完整有效名称(全名=包名.类名)
这个类型直接父类的完整有效名(对于interface或是java.lang.Object都没有父类)
这个类的修饰符(public,abstract,final的某个子集)
这个类型直接接口的一个有序列表

域信息(成员变量)

image.png
JVM必须在方法区中保存类型的所有域的相关信息以及域的声明顺序。
域的相关信息包括:域名城、域类型、域修饰符(public,private,protected,static,final,volatile,transient的某个子集)

方法信息

image.png
方法名称
方法的返回类型(或void)
方法参数的数量和类型(按顺序)
方法的修饰符(public,private,protected,static,final,synchronized,native,abstract的一个子集)
方法的字节码(bytecodes)、操作数栈、局部变量表及大小(abstract和native方法除外)
异常表(abstract和native方法除外)