黑马程序员技术交流社区

标题: 栈 堆 什么时候会有 [打印本页]

作者: 327037419    时间: 2015-9-5 11:39
标题: 栈 堆 什么时候会有
栈 堆 什么时候会有栈 堆 什么时候会有!!
作者: 寰宇天侠    时间: 2015-9-5 12:42
分配内存的时候要考虑
作者: xiaozeiyes    时间: 2015-9-5 13:15
栈(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()语句来显示地告诉编译器,在运行时才根据需要动态创建,因此比较灵活,但缺点是要占用更多的时间

作者: mah707    时间: 2015-9-5 13:50
计算机运算实在内存中的,当文件被加载到内存中的时候就用到了
作者: 京巨    时间: 2015-9-5 14:17
堆和栈是用来存储数据的,当声明变量,初始化变量或实例化对象时时将用到
作者: 327037419    时间: 2015-9-5 15:52
多谢大家!!!!!!!!!!!!!!




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