在java语言中,数组是对象,数组名即引用在栈上面,数组元素的空间分配在堆上面,而且是连续的,这是为了快速存取数组元素,因为只需要移动index(内部计算物理地址:数组起始地址+index*元素size大小)就可以访问,而这是很快的。
需要注意的是数组元素的内存空间是连续的,是指
1)如果数组元素是原始类型,那么数组元素存放的就是原始类型的值,他们是连续存放的
2)如果数组元素是对象,那么数组元素就是存放引用了,数组元素是连续存放的,而引用的对象可能在另外的地方,与数组元素可能相隔很远,即不连续。
网友评论