一、JVM的内存划分
想要了解数组的内存存储,先要了解JVM的整体内存划分,详细参见第04JVM内存详解
二、数组在JVM当中的存储详解
假如我们有如下代码:
上面代码当中,创建数组的过程我们可以把它分为三步:
1.声明int类型的数组ages int [] ages;
2.在堆中初始化数组 new int[]{10,20,30};
3.把被初始数组的地址赋值给ages变量
上图是 int[] ages = new int[]{} 在内存当中的体现形式
可以看到ages的值其实是堆当中数组的地址
所以你去打印数组的时候会发现,打印的是一个地址,而不是数组当中的值。
当执行ages = new int[]{40,50,60}
在堆中初始化了一个新的数组
把数组的地址重新赋值给了ages
关注以下微信号“码蚁小强”
第一时间获取《从零玩转JavaWeb+项目实战》最新更新视频及下载地址
上课“代码+软件+Xmind笔记”在“码蚁Java学习交流群:625973026“文件共享当中