zoukankan
html css js c++ java
栈的效率为什么比堆高?
“堆”和“栈”并不是数据结构上的Heap跟Stack,而是程序运行中的不同内存空间。
那么这就简单了,栈是程序启动的时候,系统分好了给你的,你自己用,系统不干预。
堆是用的时候才向系统申请的,用完了还回去,这个申请和交还的过程开销相对就比较大了。
栈与堆都是Java用来在Ram中存放数据的地方。
栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)。 存在栈中的数据可以共享。栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。
堆是一个运行时数据区,类的(对象从中分配空间。由于要在运行时动态分配内存,存取速度较慢。 存在栈中的数据可以共享。
栈是编译时分配空间,而堆是动态分配(运行时分配空间),所以栈的速度快
cpu有专门的寄存器(esp,ebp)来操作栈,堆都是使用间接寻址的。栈快点
查看全文
相关阅读:
xhtml中隐藏滚动条
一个题目包括70种网页制作常用技巧 (转)
Oracle 数据类型映射 (ADO.NET)
oracle数据库 数据类型
VisualSVN Server的配置和使用方法
oracle 权限管理
项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
showModalDialog和showModelessDialog使用心得
Bug跟踪管理【Bug Trace and Management】
开发WAP站点之使用PC电脑浏览器访问WAP手机站点 (转)
原文地址:https://www.cnblogs.com/mataiyuan/p/12552136.html
最新文章
我眼中的.net体系结构
[create] [drop]与[alter]
不用组件的url重写(适用于较大型项目)
游标
文秘专业核心课程介绍
使用免费的VisualSVN Server和AnkhSvn打造Visual Studio 2005/2008
Web Service
源代码控制VisualSVN Server的配置和使用方法
DIV+CSS定义滚动条样式,实现内嵌效果
window.showModalDialog传递参数及返回值方法
热门文章
我使用的项目管理工具【Basic Tools】
jQuery插件开发标准模板
Oracle Helper .NET 2.0 Class
项目管理基本工具
Oracle数据库操作的sql语句的函数总结
高效经理的五个常用工具
C#中对DatagridView的部分常用操作
xhtml在IE6下frame页面横向滚动条的问题
PLSQL
项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】
Copyright © 2011-2022 走看看