数组
数组是一种数据结构,在java中可以理解为一种特殊的数据类型,它表示由同一类型数据组成的大小固定的有序集合.从它的定义可以看出,数组有两个明显的特征,分别是大小固定和有序.数组的长度在创建时指定,每个元素都有下标,可以通过下标来访问数组的元素.
一维数组的内存图解
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放,
堆内存:1. 数组和对象,通用new建立的实例都存在在堆内存中
2. 每个实体都有内存地址值.
3. 实体中的变量都有默认初始化值.
4. 实体不被使用会在不确定的时间内被垃圾回收器回收.
创建一个数组arr,该数组指向堆内存中内存地址值为0x11ab,数组长度为3,默认初始化值为0;
两个数组的内存图解
两个引用指向同一个数组
- 引用: 数据的地址,称数据的地址就是引用.
- 引用类型变量:如果在内存中一个变量,存储的另一个数据的地址,这种变量就是引用变量;
- 两个引用指向同一个数组:
两个数组名变量,存储的是同一个数组的地址;
会出现只要使用其中一个数组名修改了数组的元素,使用另一个数组名访问就是修改之后的结果.