关于堆和栈、一级缓存和二级缓存的理解

您所在的位置:网站首页 堆和栈的关系 关于堆和栈、一级缓存和二级缓存的理解

关于堆和栈、一级缓存和二级缓存的理解

#关于堆和栈、一级缓存和二级缓存的理解| 来源: 网络整理| 查看: 265

关于堆和栈、一级缓存和二级缓存的理解 数据结构的堆和栈

 堆:先进先出的

 栈:先进后出的、自顶向下

内存分布上的堆和栈

 堆:也称为动态内存分配,是由我们自己在程序中分配内存和释放的,就是生存期是由我们自己决定的如malloc函数(注意避免内存泄漏)

 栈:局部变量的内存,函数结束后内存自动被释放,栈内存分配运算内置于处理器的指令集中,它的运行效率一般很高,但是分配的内存容量有限。

 静态存储区:全局变量、static变量;它是由编译器自动分配和释放的,即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,直到整个程序运行结束时才被释放。

 动态储存区:堆和栈

一级缓存和二级缓存

为什么需要缓存?  cpu运行速率很快,内存的就很慢,所以就需要缓存,缓存分为一级二级三级,越往下优先级越低,成本越低,容量越大 CPU读写速率:  寄存器>一级缓存>二级缓存

栈是在一级缓存里面的,堆是属于二级缓存,所以栈的效率比堆的高



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3