本帖最后由 芦青 于 2013-3-28 17:13 编辑
今天重头开始复习的时候,遇到了一个没转过弯的问题,请大家帮忙开导开导:
比如我在主函数中定义了一个数组:int[] arr=new int[3]
它在内存中的形式是这样的:
首先在栈内存中开辟了一片主函数的空间,在空间里定义了一个x的变量,然后在堆内存中叶开辟了一个空间,里面储存了3个int类型的元素,并把地址值赋给了变量x,使x变量指向了堆内存,这些我明白..我不明白的是:
x一直指向堆内存,堆里的实体就不会被垃圾回收机制回收掉,在没有任何操作的情况下:是不是当主函数运行完以后,主函数里的x变量就消失掉了,堆内存就不会有了指向在被使用了,会被垃圾回收机制回收掉..这样一来,是不是可以认为:当主函数结束完后,内存中不会再有任何数据了..?
|