zoukankan
html css js c++ java
栈的效率为什么比堆高?
“堆”和“栈”并不是数据结构上的Heap跟Stack,而是程序运行中的不同内存空间。
那么这就简单了,栈是程序启动的时候,系统分好了给你的,你自己用,系统不干预。
堆是用的时候才向系统申请的,用完了还回去,这个申请和交还的过程开销相对就比较大了。
栈与堆都是Java用来在Ram中存放数据的地方。
栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)。 存在栈中的数据可以共享。栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。
堆是一个运行时数据区,类的(对象从中分配空间。由于要在运行时动态分配内存,存取速度较慢。 存在栈中的数据可以共享。
栈是编译时分配空间,而堆是动态分配(运行时分配空间),所以栈的速度快
cpu有专门的寄存器(esp,ebp)来操作栈,堆都是使用间接寻址的。栈快点
查看全文
相关阅读:
Day-11 闭包和迭代器
Day-01 Python基础
Day-10 函数的进阶
Day-09 初识函数
Day-08 文件操作
Day-07 基础数据类型补充 set集合 深浅拷贝
Day-06 小数据池 再谈编码
Day-05 基础数据类型字典dict
Day-04 基础数据类型list, tuple
NodeJs获取两个日期间的所有日期
原文地址:https://www.cnblogs.com/mataiyuan/p/12552136.html
最新文章
HTML
mysql参数说明
mysql索引
mysql储存过程
mysql数据库操作
初识数据库
python协程
文件操作
python day11
python day10
热门文章
Python 初识函数
Python Day8
Python Day7
Python 编码
Python 字典增删查改 嵌套
Python列表 元组
Python 字符串切片、索引、查找、统计,用户登陆验证
Python while循环、逻辑运算、编码
Day-13 内置函数(点击网址进入思维导图)、递归、二分法
Day-12 生成器
Copyright © 2011-2022 走看看