Java对象的实例化过程

 ·  2019-12-17

假设有一个类叫Person,在Person p = new Person()的过程中发生了如下的事情:

  1. JVM将硬盘中的Person.class文件加载到方法区中
  2. 在方法区中建立类中的静态成员,并进行默认初始化和显示初始化
  3. 执行该类中的静态代码块
  4. JVM在堆内存中为Person对象开辟了一块内存空间,并分配了一个地址值
  5. 在开辟的内存空间中建立该类对象的成员属性,并进行默认初始化和显示初始化
  6. 执行构造代码块
  7. 执行对应的构造器
  8. 将内存地址付给栈中的变量p

前三步在类的生命周期中只执行一次

 
评论
Hello World. All Rights Reserved. Theme Jasmine by Kent Liao.
w