Java中数组的内存分配

Java里数组也是引用类型,故分配在堆里。

例如:

int[] a = new int[5];
for(int i=0;i<a.length;i++)
{
    int[i] = i;
}

内存分配图如下:

 

上面是基本类型的数组,下面看引用类型数组的内存分配。先看引用类型的定义:

class T {
    public int id;
    public String name;
    public int age;
}

public class Test {
    public static void main(String[] args) {
           T[] t = new T[3];
           t[0] = new T(1,"张三",28);
           t[1] = new T(2,"李四",21);
           t[2] = new T(3,"王五",45);
    }
}        

内存分配如下图:

 可以看到,引用类型的数组中,存放的实际是每个对象的引用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。