上篇看了关于数组的内存分析,接下来看一下对象的内存分析
假定有如下类:
第一步会把Person的字节码放到方法区
执行main方法,把main方法的栈帧放到栈当中
Person zly = new Person();创建对象,执行流程为
在堆当中开辟空间,创建对象,对象当中的成员变量都为默认值。
把创建对象的地址赋值给zly变量
当设置完成员变量的具体值是,内存如下:
整体内存图如下:
如果执行了以下语句:
zly = rh (把rh的地址赋值给了zly)
syso(zly.name) 输出的名字为如花
如果设置了myxq = null
syso(myxq) 会报空指针异常
关注以下微信号“码蚁小强”
第一时间获取《从零玩转JavaWeb+项目实战》最新更新视频及下载地址
上课“代码+软件+Xmind笔记”在“码蚁Java学习交流群:625973026“文件共享当中