1.类加载子系统
.class文件由类加载子系统加载到内存,放入数据区的方法区内,在堆区创建一个类对象
重点:双亲委派机制
步骤:加载,链接,初始化
得到Class的对象:(1):调用Object类的getClass()方法 Class class = x.getClass();x是MyObject x;
(2):使用Class类的中静态forName()方法 Class class =Class.forName("MyObject")
(3):Class class = T.class;T是一个Java类型
注:子类调用了初始化(父类静态代码>子类静态代码>父类构造器>子类构造器)
2.内存结构
共享
方法区:类信息,常量,static,jit等
堆:实例对象
私有
stack:栈帧(局部变量表,操作数栈,动态链接,方法出口)
程序计数器
本地方法栈