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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 钟翠翠 中级黑马   /  2014-6-17 13:54  /  1303 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想问问什么是栈内存?什么是堆内存?两者的区别?

7 个回复

倒序浏览
栈是存放临时变量的! 堆是程序运行过程中动态申请的内存的存放处的!所有用new建立的对象都是在堆上申请的,

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
int[] a=new int[3];  a在栈中,而new 申请的数组则存储在堆中  然后把堆地址赋给了a
回复 使用道具 举报
栈内存主要用来存放明确知道长度和生命周期的数据,比如一个对象的引用,堆内存用来存放变量

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:数组和对象,统统new建立的实例都存放在堆内存。
回复 使用道具 举报
拼音不一样,笔画不一样
回复 使用道具 举报
风决 发表于 2014-6-17 14:33
栈是存放临时变量的! 堆是程序运行过程中动态申请的内存的存放处的!所有用new建立的对象都是在堆上申请的 ...

谢谢。。。。。
回复 使用道具 举报
帅哥哥 发表于 2014-6-18 10:00
拼音不一样,笔画不一样

:L。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马