黑马程序员技术交流社区

标题: 请指导堆内存栈内存区别 [打印本页]

作者: a80C51    时间: 2015-8-27 21:56
标题: 请指导堆内存栈内存区别
本帖最后由 a80C51 于 2015-8-28 23:05 编辑

从学C开始,就对栈和堆的概念不是很清楚,到java这边,貌似也有相关概念。
请问,关于这两个概念,有没有什么好的资料或者解答呢?
另外,常量池是一般是放到哪里?

作者: Tangjw    时间: 2015-8-27 22:00
老毕视频里讲得有啊
一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。堆内存用于存放由new创建的对象和数组。
作者: a80C51    时间: 2015-8-27 22:09
Tangjw 发表于 2015-8-27 22:00
老毕视频里讲得有啊
一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。堆内存用于存放由new创 ...

OK,我看一下。
作者: Florida2015    时间: 2015-8-27 22:10
由于栈的容量小、速度快,所以栈是存放变量值的空间;对于堆的话则存放的是对象引用的空间。
作者: a80C51    时间: 2015-8-27 22:16
Florida2015 发表于 2015-8-27 22:10
由于栈的容量小、速度快,所以栈是存放变量值的空间;对于堆的话则存放的是对象引用的空间。 ...

记下了,后面争取能整理出一篇关于它的知识点。
作者: a80C51    时间: 2015-8-27 22:18
Tangjw 发表于 2015-8-27 22:00
老毕视频里讲得有啊
一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。堆内存用于存放由new创 ...

函数即为方法吧?
作者: a80C51    时间: 2015-8-27 23:04
1存放位置:
局部变量存放在栈内存中,实体和对象存放在堆内存中;
2,释放
栈内存的数据会自动释放;而堆内存的数据,需等到不再使用时,才会通过垃圾回收机制被回收
3,
堆内存中实体都有初始值。




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