4.java数组内存分配

BUG之神 84

 

4.java数组内存分配 

 

4.java数组内存分配 

第一行代码,左右分别有个内存空间进行存储

当右侧开辟内存空间(可以存储3个元素)后,为了访问元素的方便,将索引也给出来,值默认为0

 

 

4.java数组内存分配 

这里采用001来标识右侧这个内存空间,001(假设内存地址为001,以实际为准)称为内存地址。

然后将右侧的东西赋值给左侧,即左侧的东西指向右侧,即arr要指向右侧的内存空间

4.java数组内存分配 

其实就是arr指向001(001为右侧空间的内存地址),将001赋值给arr,到这里,第一行代码解释结束。

4.java数组内存分配 

 

 

当访问数组元素时,先通过地址去找到对应的内存区域,再根据索引找到对应的元素

4.java数组内存分配 

简略点讲,可以认为arr[2]指向内存地址为001的第三个元素

4.java数组内存分配 

其中,左侧的叫做栈内存,右侧的叫做堆内存

4.java数组内存分配 

4.java数组内存分配 

4.java数组内存分配 

验证:

4.java数组内存分配 

4.java数组内存分配 

验证:

4.java数组内存分配 

4.java数组内存分配 

指向同一内存地址的两个数组,一个数组发生改变,另一个也会变

4.java数组内存分配 

分享