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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋斗的黑马 中级黑马   /  2015-3-24 11:47  /  1370 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java的栈内存,堆内存,都可以存放哪些东西?以及栈内存,堆内存存放数据的特点

5 个回复

倒序浏览
本帖最后由 黑色救护车 于 2015-3-24 13:22 编辑

1)堆内存中存放对象和数组,new出来的对象实例都存储在堆内存中;
2)栈内存中存放变量;
3)堆和栈的区别是, a.堆内存是动态分配的,当你new一个对象的时候,就会在堆内存中动态分配一定的内存;而栈内存中的变量,只要声明,就会开辟一个内存空间; b.栈内存中的变量一旦结束使用,其所占内存自动释放;而堆内存中的对象实例,在使用结束后,会不定时被Java垃圾回收器回收,回收后释放内存。

回复 使用道具 举报
栈内是各种方法,对象的实际储存地址,当堆跟着main入库走进来碰到对象,方法的时候就会在栈内存中开辟空间存放方法,变量,然后将地址值赋给堆内存中对应的对象,方法名.

所以判断想等的时候==比较的地址值,碰到引用对象的时候需要用到equals方法
回复 使用道具 举报
支持一下!!!!
回复 使用道具 举报
多看视频
回复 使用道具 举报
都是大侠呀
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马