黑马程序员技术交流社区

标题: [堆和栈]关于new一个对象的时候 [打印本页]

作者: VisionDo    时间: 2015-12-23 11:15
标题: [堆和栈]关于new一个对象的时候
为什么有的对象系统会分配堆内存,有些就分配栈内存
作者: 鳌少宝    时间: 2015-12-23 12:58
new出来的对象进堆内存  方法进桟内存,类进方法区...就是为啥这样就不得而知了
作者: 窃贼    时间: 2015-12-23 22:22
因为三个内存空间里的内容回收的时间不一样,能节省空间
作者: duluhuang    时间: 2015-12-24 20:22
6666666666666666666666666
作者: duluhuang    时间: 2015-12-24 20:23
66666666666666
作者: 雨来    时间: 2016-1-1 09:01
栈内存中 是存的是对象的 地址引用变量 就像桌面的快捷方式一样,堆中存的是引用数据类型的实列,这个可不要弄混淆了
作者: VisionDo    时间: 2016-1-1 09:04
雨来 发表于 2016-1-1 09:01
栈内存中 是存的是对象的 地址引用变量 就像桌面的快捷方式一样,堆中存的是引用数据类型的实列,这个可不 ...

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

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

栈和堆,先回收哪一个
作者: qinrongchang    时间: 2016-1-1 11:38

new出来的对象进堆内存  方法进桟内存,类进方法区
作者: Garnet92    时间: 2016-1-1 12:04
我感觉就是 new出来的对象进堆内存  方法进桟内存,类进方法区.   为什么是这样 我就不知道了
作者: 窃贼    时间: 2016-1-1 12:52
VisionDo 发表于 2016-1-1 09:11
栈和堆,先回收哪一个

先回收栈,栈内存是方法执行完毕就弹栈,堆内存是等回收器空闲的时候在回收。
作者: yifuyue    时间: 2016-1-1 21:16
666666666666666
作者: 1158147908    时间: 2016-1-2 00:16
支持二楼的回答,而且应该是根据生命周期的长短放入不同的内存的,省内存
作者: VisionDo    时间: 2016-1-2 18:47
窃贼 发表于 2016-1-1 12:52
先回收栈,栈内存是方法执行完毕就弹栈,堆内存是等回收器空闲的时候在回收。 ...

哦,了解了。看来你学的扎实,我都是不了了之,向你学习
作者: VisionDo    时间: 2016-1-2 18:50
1158147908 发表于 2016-1-2 00:16
支持二楼的回答,而且应该是根据生命周期的长短放入不同的内存的,省内存 ...

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

一起学习。
作者: 雨来    时间: 2016-6-3 22:59
不要再在这个问题要浪费时间了,首先你就业的时候面试别人不会问题,你如果问这样的问题,要么是大神若于钻研,要么是黑马毕业的学生




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