博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.2存储分配策略
阅读量:7197 次
发布时间:2019-06-29

本文共 412 字,大约阅读时间需要 1 分钟。

  hot3.png

由某些原因(书中图7.2)可知,在程序运行时刻,存储中有三种不同的数据区域,其中一种是静态数据区域(由编译程序确定),另外两种是区域栈和堆,由目标程序运行时动态确定。

 

1.静态存储分配

            在C语言中,java中,使用static分配,全局变量也是静态变量的一种。全局变量,静态变量,局部静态变量都是分配在静态数据区域的!

 

2.栈式存储分配

            实质上就是“活动记录”的分配与释放。当需要运行一个函数时,其活动记录里面记录的各种内容将会入栈,其中包括了局部变量的信息,当函数执行完毕的时候,活动记录出栈,释放掉内存空间。对于那些在运行时刻才能确定大小的数据对象,一般放在记录之外。

 

3.堆式存储分配

              1)当数据对象随机创建,随机消失的时候。

               2)当过程活动结束,但是局部变量的值必须被保存下来。

               3)被调用过程的生命周期长于调用过程的生命周期。

转载于:https://my.oschina.net/qkmc/blog/703368

你可能感兴趣的文章
WPF Dashboard仪表盘控件的实现
查看>>
Jvm(54),虚拟机类加载机制----类加载的过程----准备
查看>>
TCP/IP之大明内阁 转
查看>>
eclipse team 没有svn
查看>>
WPF BitmapImage 占用资源无法释放、无法删除问题
查看>>
DeepLearning.ai学习笔记汇总
查看>>
Git-撤销(回退)已经add,commit或push的提交
查看>>
java注解总结-关联信息-关联结构
查看>>
SpringBoot系列:Pojo validation
查看>>
Elasticsearch Mapping
查看>>
前端模板技术面面观(1)
查看>>
cnpm不是内部或外部命令 cnpm: command not found
查看>>
Git 基础 - 打标签
查看>>
MongoDb 快速入门教程
查看>>
C#语法中比较特别之处---狗尾续貂
查看>>
(原創) 如何將parallel轉成serial?如何將serial轉成parallel? (SOC) (Verilog)
查看>>
IOC 控制反转
查看>>
silverlight应用程序中未处理的错误代码:2104 类别:InitializeError 消息:无法下载 iis上部署Silverlight...
查看>>
matlab练习程序(图像马赛克)
查看>>
Azure ARM (8) ARM Template - VS Code
查看>>