黑马程序员技术交流社区
标题:
内存的问题
[打印本页]
作者:
251143492
时间:
2014-12-3 23:58
标题:
内存的问题
内存划分几个区?作用都是什么呀?
作者:
诺微_
时间:
2014-12-4 00:00
今天学习的视屏中讲到了三个区 (其实我记得在哪里见过是说分五个区)
1.常量区:存储字符串常量
2.堆:存储对象
3.栈:存储局部变量
应该不是很详细哈
作者:
丶有果灬
时间:
2014-12-4 13:47
内存的分区:
代码区:存储的代码编译后的二进制的文件
数据区:存储一些程序需要的数据
常量区:全局,静态数据,字符串常量
堆区:系统运行的过程,程序申请的内存空间
栈区:局部变量(特殊的结构,先进后出)
还有动态内存分布,自己总结吧!加油~
作者:
。烊了
时间:
2014-12-4 15:47
1、程序代码区:存放函数体的二进制代码。
2、全局区数据区:全局数据区划分为三个区域。
全局变量和静态变量的存储是放在一块 的,
初始化的全局变量和静态变量在一块区域,
未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。
常量数据存放在另一个区域里。这些数据在程序结束后由系统释放。
我们所说的BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。
BSS是英文Block Started by Symbol的简称。
3、栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等。存储结构像一个倒立的杯子,当函数进栈时,函数会被压
到“杯顶”即为栈底,出栈也是“杯口”先出即为栈顶元素。
4、堆区:一般由程序员分配释放,如一般的数组、对象如果实例化,就存于堆区
5、命令行参数区:存放命令行参数和环境变量的值。
作者:
法布雷加斯
时间:
2014-12-5 00:50
堆区(动态的):alloc出来的 在程序运行中才进行分配
栈区:局部变量
数据区:静态变量,字符串常量
代码区:代码 ,类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2