一:流程
- 加载Person类的信息,(也就是加载Person.class文件 只加载一次)
- 这个就是类加载的几个过程
- 加载 ,将.class文件转化成二进制流加载到JVM的内存的方法区中,并在堆中生成一个Class对象
- 验证
- 准备
- 解析
- 初始化
- 该实例堆当中开辟空间
- 每个类的实例都会记得自己是由哪个Class对象生成的,每个实例都会参考Class对像中有何属性,并在自己的空间上进行开辟。
- 完成对象的初始化
- 隐式初始化 就是 age = 90 name = null;
- 显式初始化 就是构造器初始化,我们需要在方法区的常量池当中给引用变量赋值 同时
- 基本数据类型也赋初值
- 将对象在堆当中的地址,返回给栈当中的引用变量