黑马程序员技术交流社区

标题: 内存5大区的总结 [打印本页]

作者: alen2015    时间: 2015-11-27 01:10
标题: 内存5大区的总结
1.内存管理的概念:是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高 效,快速的分配,并且在适当的时候释放和回收内存资源。
2.内存的五大区:
栈区 -- 存放局部变量,临时变量
堆区 -- 程序运行过程中,动态分配的内存
BSS区(全局区,静态区) -- 未初始化的全局变量和静态变量
数据段(常量区) -- 已经初始化的全局变量和静态变量
代码段 -- 源码代码程序编译产生的二进制数据,程序执行代码的一块区域
3.小结:栈区和堆区的内存是在运行时分配空间,BSS区.数据段.代码段是在编译器分配时分配空间
4.内存分配方式 内存分配方式有三种:
(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期 间都存在。例如全局变量,static变量。
(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结 束 时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的 内存容量有限。
(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内 存, 程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵 活,但问题也最多


作者: 石油小硕    时间: 2015-11-27 01:43
学习了。。。。
作者: 韦德460    时间: 2015-11-27 08:35
你开心就好
作者: liruixue    时间: 2015-11-27 09:14
总结的很好

作者: 唐阿丽    时间: 2015-11-27 09:57
学习了。。。。
作者: liury    时间: 2015-11-27 13:51
总结的不错。
作者: cube川    时间: 2015-11-27 16:57
再学习一次
作者: 刘耀宗    时间: 2015-11-27 17:27
今天刚接触了…感觉如意大师讲的还是比较清晰…多谢分享了
作者: cbl16888    时间: 2015-11-27 21:44
这个可以学习下,貌似会有面试题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2