数组内存图
1.java内存分配介绍:灰色字体的不需了解
2.对数组内存图流程分析
1.原文件翻译成字节码进入方法区待命,main被jvm自动调用进栈内存,接着执行main里的代码,变量是内存中的存储空间,因此arr开辟空间。
注意:我们写的简化静态初始化只是简化了代码书写,真正运行时还是按照完整格式运行。
有new就进堆,所以堆会开辟出空间储存数据并产生一份地址,因为我们的数组长度为3,所以开辟出三个小格子
堆里面干的活其实就是“=”右边干的活,赋值是从右往左,所以堆内存里的东西会把地址赋给arr,这样,arr就可以通过这份地址找到对应内存当中这块空间
接着走main里剩下的三句代码, "arr[0]=44" arr拿着自己的地址先找到堆内存,再找到里面的0号索引位置,把11改成44.以此类推
执行完所有代码后,弹栈。
.