“堆”和“栈”的粗略认知
来源:互联网 发布:湖南教师网络研修 编辑:程序博客网 时间:2024/09/21 09:23
堆:堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。
例如:当我们写程序时调用malloc这个函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)。
栈:又称堆栈,是用户存放程序临时创建的局部变量,也就是说我们函数括弧“{ }”中定义的变量(但是不包括static声明的变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进后出的特点,所以栈特别方便用来保存/恢复调用现场。
0 0
- “堆”和“栈”的粗略认知
- redis和memcached的粗略差异
- 粗略整理mecache和redis的区别
- SQL和NoSQL的认知
- cookie和session的认知
- xfire所用到的jar和server的粗略搭建
- MyISAM和InnoDB的区别的粗略理解
- MVC,MVP 和 MVVM 的图示。非常粗略的理解。
- HTML5标签的语义认知和理解
- C# new 和 override的一些认知
- Android-Bundle认知、和Intent的区别
- 认知信息处理系统的认识和理解
- Fragment的基础认知和基本使用
- 【STL】set和multiset的初步认知
- 认知【STL】里的set和multise
- 关于Format字符串和Xml文件的解析(粗略)
- Yahoo! s4和Twitter storm的粗略比较
- Yahoo! s4和Twitter storm的粗略比较
- softirq/tasklet/workqueue的区别
- 【心情】菜鸟学习的一些心路历程。
- riot.js学习【五】杂烩1
- java.lang.IllegalStateException: Can't change tag of fragment
- 使用Acronis Disk Director Suite进行系统盘扩容
- “堆”和“栈”的粗略认知
- CString时间字符串,COleDateTime,CTime类之间的转换
- 怎么发现RAC环境中'library cache pin'等待事件的阻塞者(Blocker)?
- Fragment与ViewPager之间更新数据相关问题
- 马云——2015纽约经济俱乐部演讲全文
- FIQ和IRQ的区别及CPU实现
- OpenGL 键盘控制和灯光
- WIN7下安装SVN服务器端及客户端搭建协作环境
- TFS大文件分析