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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 327037419 中级黑马   /  2015-9-5 11:39  /  302 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

栈 堆 什么时候会有栈 堆 什么时候会有!!

5 个回复

正序浏览
多谢大家!!!!!!!!!!!!!!
回复 使用道具 举报
京巨 来自手机 中级黑马 2015-9-5 14:17:22
报纸
堆和栈是用来存储数据的,当声明变量,初始化变量或实例化对象时时将用到
回复 使用道具 举报
计算机运算实在内存中的,当文件被加载到内存中的时候就用到了
回复 使用道具 举报
栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。Java自动管理栈和堆,程序员不能直接地设置栈或堆。
栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢
Java中的数据类型有两种。  一种是基本类型(primitive types), 共有8种,即int, short, long, byte, float, double, boolean, char(注意,并没有string的基本类型)。由于大小可知,生存期可,出于知追求速度的原因,就存在于栈中;另一种是包装类数据,如Integer, String, Double等将相应的基本数据类型包装起来的类。这些类数据全部存在于堆中,Java用new()语句来显示地告诉编译器,在运行时才根据需要动态创建,因此比较灵活,但缺点是要占用更多的时间
回复 使用道具 举报
分配内存的时候要考虑
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马