Java之Person初始化

今天遇到一个问题,new一个类的时候,说下它初始化的过程:
Person p = new Person()

  • 1.先在栈内存中开辟空间 p;
  • 2.因为 new 用到了 Person.class 所以会先到硬盘中找到 Person.class 文件,通过jvm加载到内存中;
  • 3.如果该类中有静态代码块,执行静态代码块,给 Person.class 类初始化;
  • 4.在堆内存中开辟空间,分配内存地址;
  • 5.在堆内存中建立对象特有属性,并进行默认初始化;
  • 6.对堆内存中对象的特有属性,进行显示初始化;
  • 7.对对象进行构造代码块初始化(在类中直接定义,没有加static关键字修饰的代码块);
  • 8.对对象进行对应的构造函数初始化;
  • 9.将内存地址值赋给栈内存中的变量p;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容