辨析栈和堆

本文深入解析了计算机内存管理中堆和栈的概念。介绍了堆作为公共空间的两种形式——全局堆和局部堆,并强调了它们在操作系统层面的分配与回收机制。同时,详细解释了栈作为线程独有空间的作用,包括其如何保存线程状态和局部变量,以及函数调用过程中栈的具体运用。

堆:堆是一个公共空间,分为全局堆和局部堆。全局堆就是没有分配的空间,而局部堆就是用户已分配的空间。堆在操作系统堆进程初始化的时候分配,运行过程中也可向操作系统索要额外的堆,用完之后务必 要还给操作系统

栈:栈是线程独有的,保存其大量的状态和局部变量。栈在线程开始时初始化,每个线程的栈相互独立。每个函数都有自己的栈(属于函数所在的线程),用来记录函数调用之前的位置和参数传递。操作系统在切换线程的时候回自动的切换栈。栈不需要用户显示的分配和释放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值