关于堆和栈、一级缓存和二级缓存的理解 |
您所在的位置:网站首页 › 堆和栈的关系 › 关于堆和栈、一级缓存和二级缓存的理解 |
关于堆和栈、一级缓存和二级缓存的理解
数据结构的堆和栈
堆:先进先出的 栈:先进后出的、自顶向下 内存分布上的堆和栈堆:也称为动态内存分配,是由我们自己在程序中分配内存和释放的,就是生存期是由我们自己决定的如malloc函数(注意避免内存泄漏) 栈:局部变量的内存,函数结束后内存自动被释放,栈内存分配运算内置于处理器的指令集中,它的运行效率一般很高,但是分配的内存容量有限。 静态存储区:全局变量、static变量;它是由编译器自动分配和释放的,即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,直到整个程序运行结束时才被释放。 动态储存区:堆和栈 一级缓存和二级缓存为什么需要缓存? cpu运行速率很快,内存的就很慢,所以就需要缓存,缓存分为一级二级三级,越往下优先级越低,成本越低,容量越大 CPU读写速率: 寄存器>一级缓存>二级缓存 栈是在一级缓存里面的,堆是属于二级缓存,所以栈的效率比堆的高 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |