堆内存栈内存
内存可分为:栈区、堆区、全局区、字符常量区、代码区
- 软件和程序其实是一个东西,叫法不同
- 程序运行要占用内存,使用完毕要释放
1.栈区:也叫堆栈
- 特点:该部分内存由系统申请,变量生命周期结束自动释放
由于
由于是系统自动释放,所以系统要不停地去检测是否要释放该地区,所以CPU会额外的检测工作,是的程序效率下降。 - 实际应用中会限制栈区的大小,因为其会给CPU带来额外功能。(默认大小为1Mb,可以修改)
栈区内存申请过大会出现 stack overflow (爆栈) - 操作方式类似于数据结构中的栈
2.堆区
- 该部分内存由程序员申请和释放,与数据结构中的堆不同