A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© VisionDo 中级黑马   /  2015-12-23 11:15  /  1570 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么有的对象系统会分配堆内存,有些就分配栈内存

17 个回复

倒序浏览
new出来的对象进堆内存  方法进桟内存,类进方法区...就是为啥这样就不得而知了
回复 使用道具 举报
因为三个内存空间里的内容回收的时间不一样,能节省空间
回复 使用道具 举报
6666666666666666666666666
回复 使用道具 举报
66666666666666
回复 使用道具 举报
栈内存中 是存的是对象的 地址引用变量 就像桌面的快捷方式一样,堆中存的是引用数据类型的实列,这个可不要弄混淆了
回复 使用道具 举报
雨来 发表于 2016-1-1 09:01
栈内存中 是存的是对象的 地址引用变量 就像桌面的快捷方式一样,堆中存的是引用数据类型的实列,这个可不 ...

生动,形象,谢谢
回复 使用道具 举报
雨来 发表于 2016-1-1 09:01
栈内存中 是存的是对象的 地址引用变量 就像桌面的快捷方式一样,堆中存的是引用数据类型的实列,这个可不 ...

那,可不可以这么理解:栈内存资源比较稀缺,相当于闪存。堆内存比较便宜,相当于硬盘。所以,栈中存储“快捷方式”,堆中存放“实体数据”?
回复 使用道具 举报
窃贼 发表于 2015-12-23 22:22
因为三个内存空间里的内容回收的时间不一样,能节省空间

栈和堆,先回收哪一个
回复 使用道具 举报

new出来的对象进堆内存  方法进桟内存,类进方法区
回复 使用道具 举报
我感觉就是 new出来的对象进堆内存  方法进桟内存,类进方法区.   为什么是这样 我就不知道了
回复 使用道具 举报
VisionDo 发表于 2016-1-1 09:11
栈和堆,先回收哪一个

先回收栈,栈内存是方法执行完毕就弹栈,堆内存是等回收器空闲的时候在回收。
回复 使用道具 举报
666666666666666
回复 使用道具 举报
1158147908 来自手机 中级黑马 2016-1-2 00:16:11
14#
支持二楼的回答,而且应该是根据生命周期的长短放入不同的内存的,省内存
回复 使用道具 举报
窃贼 发表于 2016-1-1 12:52
先回收栈,栈内存是方法执行完毕就弹栈,堆内存是等回收器空闲的时候在回收。 ...

哦,了解了。看来你学的扎实,我都是不了了之,向你学习
回复 使用道具 举报
1158147908 发表于 2016-1-2 00:16
支持二楼的回答,而且应该是根据生命周期的长短放入不同的内存的,省内存 ...

嗯,只知道Java有自动回收机制,其他的都不懂。(二楼帮了我很多)
回复 使用道具 举报
VisionDo 发表于 2016-1-2 18:47
哦,了解了。看来你学的扎实,我都是不了了之,向你学习

一起学习。
回复 使用道具 举报
不要再在这个问题要浪费时间了,首先你就业的时候面试别人不会问题,你如果问这样的问题,要么是大神若于钻研,要么是黑马毕业的学生
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马