Java的对象创建过程是怎样的?

对象在 JVM 中的创建过程如下:

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