java,堆和栈是怎么分工的?就是说分别用来存放什么

如题所述

第1个回答  2009-11-28
两种不同的内存结构
栈: 存放基本数据类型、对象的引用
堆:存放对象的数据
第2个回答  推荐于2017-11-22
Java把内存划分成两种:一种是栈内存,一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存 中分配。
当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放 掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
堆内存用来存放由new创建的对象和数组。
在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。

这里有参考资料,楼主也要谢谢这个空间的人,呵呵...

参考资料:http://hi.baidu.com/%CB%BC%C3%F4%D3%EA/blog/item/3933affbba8b7cd4b58f316f.html

本回答被提问者采纳
第3个回答  2009-11-28
这些知识在《Think in java》中有很详细的描述说明, 贾府焦大的回答还是比较中肯。
相似回答