java中 stack与和heap的区别
来源:互联网 发布:网易邮箱端口号 编辑:程序博客网 时间:2024/06/08 13:45
java的内存分为栈(stack)和堆(heap);
1、栈(stack)
(1)定义
每个应用运行时都有自己的一段内存空间,用于存放临时变量、参数传递、函数调用时的PC值以及对象的引用,这叫stack。
(2)优缺点
优点:存取速度比堆快,仅次于CPU中的寄存器。另外,
缺点:存在栈中的数据的大小与生存期必须是确定的,所以缺乏灵活性。
2、堆(heap)
(1)定义
堆是JVM的内存数据区。Heap的管理很复杂,每次分配不定长的内存空间专门用来保存对象的实例(实际上是保存对象实例的属性值,属性的类型和对象本身的类型标志等),并不保存对象的方法(方法是指令,保存在栈中)。
(2)优缺点
优点:堆是一个运行时的数据区,它的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,java的垃圾收集器会自动收走这些不再使用的数据。
缺点:由于在运行时动态分配内存,存取速度比较慢。
0 0
- java中 stack与和heap的区别
- Java中Heap与Stack的区别
- java中heap 与 stack 的区别
- Java中Heap与Stack的区别
- Java中Heap与Stack的区别
- Java中Heap与Stack的区别
- Java中Heap与Stack的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- JAVA中Stack和Heap的区别
- 基于TCP协议的网络编程学习笔记(1)
- 使用mysql 统计函数 结果为null时返回值改为0
- Eclipse调试:F5、F6、F7、F8
- 个人开源项目(学习与研究)
- Oracle 解决'PLAN_TABLE' is old version问题
- java中 stack与和heap的区别
- Android中Canvas绘图基础详解(附源码下载)
- 线程同步 总结 内核对象
- Android 增强版百分比布局库
- JAVA--静态修饰符(static)理解
- 宠物、计划生育、宜特居
- mongoDB入门必读(概念与实战并重)
- C#学前热身
- python删除带特殊后缀的文件