- 为什么有堆内存和栈内存?

- 如何让垃圾回收机制回收一个数组所占的内存空间?

- 数组长度发生变化?
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讲义》
堆栈内存与数组长度变化
本文探讨了堆内存和栈内存的区别,解释了垃圾回收机制如何回收数组占用的内存,并通过实例展示了数组长度在赋值操作下如何发生变化。深入理解数组引用与对象之间的关系。
2704

被折叠的 条评论
为什么被折叠?



