java中堆和栈的区别
来源:互联网 发布:电信 网络重构 编辑:程序博客网 时间:2024/04/30 19:21
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)和对象句柄。
0 0
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- JAVA中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- JAVA中堆和栈的区别
- java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- Java中堆和栈的区别
- java中堆和栈的区别!!!!
- Java中堆和栈的区别
- 字符数组与字符指针的区别与联系
- 献给杭电五十周年校庆的礼物
- scala安装 scala eclipse插件安装
- 数据结构与算法——归并排序
- 小问题
- java中堆和栈的区别
- 如何在windows server2012中查看已安装的证书
- 医院污物真空管道收集系统综述报告
- 流程虚拟机——jBPM产品思想分析.pdf
- 修改Eclipse/MyEclipse项目的默认编码
- 扩展KMP+KMP+hdu4333
- STL——vector
- Training--使用Fragment创建动态UI
- 内核工具 – Sparse 简介,:__attribute, __context__