java,堆和栈是怎么分工的?就是说分别用来存放什么
展开全部
两种不同的内存结构
栈: 存放基本数据类型、对象的引用
堆:存放对象的数据
栈: 存放基本数据类型、对象的引用
堆:存放对象的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java把内存划分成两种:一种是栈内存,一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存 中分配。
当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放 掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
堆内存用来存放由new创建的对象和数组。
在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。
这里有参考资料,楼主也要谢谢这个空间的人,呵呵...
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存 中分配。
当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放 掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
堆内存用来存放由new创建的对象和数组。
在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。
这里有参考资料,楼主也要谢谢这个空间的人,呵呵...
参考资料: http://hi.baidu.com/%CB%BC%C3%F4%D3%EA/blog/item/3933affbba8b7cd4b58f316f.html
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这些知识在《Think in java》中有很详细的描述说明, 贾府焦大的回答还是比较中肯。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询