黑马程序员技术交流社区

标题: 栈和堆的一些问题 [打印本页]

作者: 芦青    时间: 2013-3-28 16:01
标题: 栈和堆的一些问题
本帖最后由 芦青 于 2013-3-28 17:13 编辑

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

作者: 芦青    时间: 2013-3-28 16:51
芦子骐 发表于 2013-3-28 16:49
对,可以这么认为,堆内存中的对象空间必须是要有一个引用变量指向的,否则就是垃圾,内存其实也就是在程序 ...

谢谢,5百年前我们是一家啊:lol
作者: 芦青    时间: 2013-3-28 17:12
芦子骐 发表于 2013-3-28 16:54
哈哈哈!!!就是!!!~~19期见!!!!,,还有  你的头像很帅!!~

哈,谢谢,争取19期见,祝好运..:handshake
作者: 曹德君    时间: 2013-3-28 17:26
芦子骐 发表于 2013-3-28 16:54
哈哈哈!!!就是!!!~~19期见!!!!,,还有  你的头像很帅!!~

你的头像也很帅啊。很像九门提督啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2