在java中提倡万物皆对象的思想,所以对于创建一个对象时的内存分析显得很有必要
对象的创建流程
- new关键字会触发java虚拟机进行堆内存的分配,并返回堆内存的地址
一个对象的的创建过程分为4步
1.类的加载检查
2.分配对象空间,并将对象成员变量初始化为0或为空
3.执行构造方法
4.返回对象的地址给相关变量
对象要用到的内存由java虚拟机分配,要用到栈 堆 方法区三个内存储存区域
栈
- 特点
栈用来储存java程序中的局部变量
堆区
堆中用于储存用new关键字开辟的对象和数组(数组在某种程度上也是对象)
对象由属性和行为表现出来,所以堆中实际上储存的是对象的属性和成员函数
方法区
在方法区中储存程序中永远是不变或者唯一的内容,比如类信息【Class对象】、静态常量、字符串常量等
对象创建过程的内存分析对象的内存分析写的很详细
对于深入理解可参考jav内存分配`
标签:分析,储存,java,对象,创建,虚拟机,创建对象,内存 From: https://www.cnblogs.com/swtaa/p/16816861.html