对象在 JVM 中的创建过程如下:
- JVM 会先去方法区找有没有所创建对象的类存在,有就可以创建对象了,没有则把该类加载到方法区
- 在创建类的对象时,首先会先去堆内存中分配空间
- 当空间分配完后,加载对象中所有的非静态成员变量到该空间下
- 所有的非静态成员变量加载完成之后,对所有的非静态成员进行默认初始化
- 所有的非静态成员默认初始化完成之后,调用相应的构造方法到栈中
- 在栈中执行构造函数时,先执行隐式,再执行构造方法中书写的代码
- 执行顺序:静态代码库,构造代码块,构造方法
- 当整个构造方法全部执行完,此对象创建完成,并把堆内存中分配的空间地址赋给对象名