class对象创建流程
类加载阶段
-
通过全类名获取定义此类的二进制字节流
-
将字节流所代表的静态存储结构转换为方法区的运行时数据结构/加载类信息
-
在内存中生成一个代表该类的
Class
对象,作为方法区这些类信息的访问入口
-
先通过全类名找到.class文件-》将.class文件存储的静态信息结构转成JVM动态的存储结构-》通过存储在方法区中的类信息创建一个在堆中的class对象,外界可以通过访问class对象访问到类信息
方法区中的类信息会保存一个对class对象的引用,可以用来判断是否要对类信息GC
Class类的方法都是通过基于class对象内的类信息指针区获得类的相关信息
具体方法区中类信息存储什么可以点此