- 为什么有堆内存和栈内存?
- 如何让垃圾回收机制回收一个数组所占的内存空间?
- 数组长度发生变化?
public class test{
public static void main(String[] args){
//静态初始化数组a
int[] a = {5,7,20};
//动态初始化数组b
int[] b = new int[4];
System.out.println(a.length); //a.length = 3
System.out.println(b.length); //b.length = 4
b = a;
System.out.println(b.length); //b.length = 3
}
}
看待数组时,要不数组看成两部分,一部分是数组引用,即:数组引用变量;还有一部分是实际的数组对象,在堆内存中,无法直接访问,只能通过数组引用变量来访问。
参考资料:《疯狂java讲义》