Java零基础学习实践系列(四十一):创建对象内存分析
四十一:创建对象内存分析
上一节介绍了构造器,本节分析一下创建对象时的内存情况.
1.理论整理
背景简述:
- 假设我们有一个含有main()方法的类(Application),还有一个宠物模板(Pet类);
- 我们在Application类中通过new调用Pet类来实例化出对象Dog,我们给Dog赋予一些属性.
过程简述:
- 首先在方法区中会创建Application类,有main()方法,有Dog对象的常量属性(String类型,int型不算)在常量池中;
- 栈当中会有:main()方法、引用变量名(dog)
- 接着堆中会给dog的new过程创建一块空间,赋予Application中dog的属性值;
- 注意:不仅可以new出dog,也可以new出cat,它们在堆中的位置空间是不一样的!
声明:本系列是"狂神说java"教程的个人学习笔记,无意侵权~