对于数组我们其实并不陌生了,在vb、c#、vb.net中都讲到了数组这个概念,但是对于数组的内存分析还是头一次。
在没有学习J2SE 之前我们对数组的一直都是通过生活中实际的空间来想象和定义数组的。一维、二维、三维都能够找到相应的对应空间。到了四维、五维就无法想象了。
然而对于J2SE中的数组视频当中是这样分析的,如图所示:
栈内存当中定义一个数组的引用,在堆内存当中是一维指像下一维。最后一维当中存的的才是实际的内容,前面都是引用的指向。
用这样的分析方式和我们无论是多少维的数组都可以非常清晰的描述了。
还记得在软考复习中有一个索引存储的知识点貌似和这个数组的方式有些像。一级索引指向二级索引,以此类推。都是按照引用进行寻址的。