|-----------|----------------------------------------------------------------------------------------------------------------|
| | 作用 |
| 栈区(stack) | * 存放函数的形参和局部变量(auto 类型),由编译器自动分配和释放。 * 生命周期与函数调用相关,函数结束时自动回收。 * 栈区的大小有限,通常较小。 * 例如,函数参数和局部变量。 |
| 堆区(heap) | * 由程序员手动申请和释放,需要注意避免内存泄漏。 * 存放动态分配的内存,如使用 malloc 或 new。 * 生命周期由程序员控制,程序结束时可能由操作系统回收。 * 例如,动态分配的对象、数组等。 |
| 全局/静态存储区 | * 存放全局变量和静态变量(包括静态全局变量和静态局部变量)。 * 初始化的全局变量和静态局部变量放在一块,未初始化的放在另一块。 * 生命周期从定义开始到程序结束。 * 例如,全局变量、静态变量。 |
| 代码区 | * 存放程序的二进制代码。 * 内存由系统管理。 * 例如,程序的执行代码。 |
程序运行时,常见存储区分类及作用
qq_454175792024-03-20 17:52
相关推荐
逻辑驱动的ken4 小时前
Java高频面试考点场景题22wuminyu14 小时前
专家视角看Java字节码加载与存储指令机制.小小陈.15 小时前
Linux 线程概念与控制:从底层原理到实战应用light blue bird17 小时前
工序路径工站物料 BOM 协同组件zhaoyong22220 小时前
MySQL 存储过程中字符集与排序规则不匹配导致查询性能下降的解决方案sinat_3834373620 小时前
golang如何从Python转型Go开发_golang从Python转型Go开发攻略FQNmxDG4S21 小时前
JVM内存模型详解:堆、栈、方法区与垃圾回收2301_812539671 天前
Golang怎么实现网页爬虫抓取数据_Golang如何用colly框架快速构建爬虫采集程序【教程】雪碧聊技术1 天前
线程运行原理light blue bird1 天前
MES/ERP 工序 BOM 协同多节点工站组件