每一个被加载的类型,在Java虚拟机中都会在方法区中保存如下信息:
1)、类型的全名(The fully qualified name of the type)
2)、类型的父类型的全名(除非没有父类型,或者弗雷形式java.lang.Object)(The fully qualified name of the typeís direct superclass)
3)、给类型是一个类还是接口(class or an interface)(Whether or not the type is a class )
4)、类型的修饰符(public,private,protected,static,final,volatile,transient等)(The typeís modifiers)
5)、所有父接口全名的列表(An ordered list of the fully qualified names of any direct superinterfaces)
类型全名保存的数据结构由虚拟机实现者定义。除此之外,Java虚拟机还要为每个类型保存如下信息:
1)、类型的常量池(The constant pool for the type)
2)、类型字段的信息(Field information)
3)、类型方法的信息(Method information)
4)、所有的静态类变量(非常量)信息(All class (static) variables declared in the type, except constants)
5)、一个指向类加载器的引用(A reference to class ClassLoader)
6)、一个指向Class类的引用(A reference to class Class)
|