1、存放基本类型数组在内存中如何储存
java的数组中可以存放引用类型。
存放引用类型的内存分布相比存放基本类型相对复杂。来看一段存储基本类型的程序:
了解什么是数组看这里:java中的数组是什么
了解数组在内存中的储存看这里:java数组如何存储在内存中
public class TestPrimitiveArray {
public static void main(String[] args) {
//1.定义数组
int[] numbers;
//2.分配内存空间
numbers = new int[4];
//3.为数组元素指定值
for(int i = 1;i <= numbers.length;i++) {
numbers[i] = i ;
}
}
}
内存分布如图:
从图中可看出数组元素直接存放在堆内存中,当操作数组元素时,实际上是操作基本类型的变量。
2、存放引用类型数组在内存中如何储存
先来再看一段存储引用类型数组的实例:
class Person {
public int age;
public String name;
public void display() {
System.out.println(name + "的年龄是: " + age);
}
}
public class TestReferenceArray {
public static void main(String[] args) {
//1.定义数组
Person[] persons;
//2.分配内存空间
persons = new Person[2];
//3.为数组元素指定值
Person p1 = new Person();
p1.age = 28;
p1.name = "Miracle";
Person p2 = new Person();
p2.age = 30;
p2.name = "Miracle He";
persons[0] = p1;
persons[1] = p2;
//输出元素的值
for(Person p : persons) {
p.display();
}
}
}
元素为引用类型的数组,在内存中的存储与基本类型完全不一样。
此时数组元素存放引用,指向另一块内存,在其中存放有效的数据。如图:
了解数组和普通对象的引用变量:数组和普通对象的引用变量有什么区别
时间: 2024-10-12 20:51:23