当前位置: 首页 > news >正文

内存的堆、内存的栈有什么区别

栈(Stack) 是 “CPU 自动管理的临时工作台”,堆(Heap) 是 “程序员申请的大仓库”;
前者 随方法进出自动生死,后者 手动 or GC 清理,速度差一个数量级。

栈(Stack) 是 “CPU 自动管理的临时工作台”,堆(Heap) 是 “程序员申请的大仓库”;
前者 随方法进出自动生死,后者 手动 or GC 清理,速度差一个数量级。

一、生命周期:谁掌控生死?

表格
复制
场景
分配时机 方法调用 瞬间 CPU 压栈 new / malloc 时向操作系统申请
释放时机 方法 return 即弹出 手动 free / 垃圾回收 非确定
是否确定性 ✅ 编译期就定好 ❌ 运行期动态决定
典型例子
int x = 3; → 栈; new Person() → 堆。

二、速度差异:CPU 缓存 vs 系统调用

表格
复制
指标
分配/释放速度 1 条指令(移动 esp/rsp) 用户态→内核态→堆管理器,百条指令+锁
局部性 连续压栈,CPU 缓存友好 可能碎片化,缓存命中率低
并发成本 无锁 需 堆锁 or 线程局部分配
数量级:栈分配 纳秒级,堆分配 微秒级。

三、空间与限制

表格
复制
维度
默认大小 Windows 1 MB / Linux 8 MB 线程栈 仅受 进程地址空间 限制(2-128 GB)
大块数据 不宜(容易 StackOverflow) 适合 大对象、数组、字符串
碎片问题 无(先进后出) 有 → 需 压缩/整理

四、值类型 vs 引用类型 映射

csharp
复制
void Foo()
{int x = 10;              // 栈Point p = new Point();   // 栈(值类型)String s = new String(); // 引用本身在栈,**对象在堆**
}
 

五、一张图速记

复制
方法调用
┌---------┐
│ 参数    │ ← 栈顶
│ 返回地址│
│ 局部变量│
└---------┘  ← esp 自动上下移动 = 1 条指令↓ new
┌-------------------------------┐
│          托管堆               │
│ Person  String  byte[] ...    │  GC 回收、可能碎片
└-------------------------------┘
 

六、金句

“栈由 CPU 自动压弹,方法结束即回收,速度快、空间小;
堆由 程序员或 GC 管理,生命周期灵活,空间大、速度慢、易碎片;
值类型和引用类型的 性能差异根源 就在于 栈 vs 堆 的分配策略。
http://www.hskmm.com/?act=detail&tid=31343

相关文章:

  • 2025 年铝板厂家最新推荐榜:覆盖多系列铝板产品,精选优质企业,为采购者提供专业选型参考
  • 用 AI 批量优化思源笔记排版
  • 2025 年连接线线束厂家最新推荐榜:新能源电子 / 机器人电子等多领域优质企业品控、定制能力及合作案例全面盘点
  • 2025年黄金回收品牌最新权威推荐榜:专业鉴定与高价回收口碑之选,正规资质黄金回收厂家精选指南
  • 2025 年试验机最新推荐榜单:电子万能材料 / 橡胶拉力 / 塑料拉力 / 环刚度 / 冲击试验机优质厂家精选及科研工业合作参考
  • 2025 年国内卷帘门源头厂家最新推荐排行榜:电动 /pvc/ 钢质 / 自动 / 防火卷帘门优质厂家精选
  • 2025 年电容厂家最新推荐排行榜:固态 / 高压 / 牛角 / 安规 / CBB / 超级电容领域优质厂家精选
  • 如何让AI实现自动化 —— PlayWright MCP 实测 - 教程
  • 使用git-filter-repo 清除大文件
  • 2025 年滤筒源头厂家最新推荐排行榜:盘点实力企业及选购要点,涵盖多类型滤筒优质公司水刺/除尘/阻燃/高温滤筒厂家推荐
  • Flutter美观、易用的日历选择组件
  • 2025 年滤袋源头厂家最新推荐排行榜:PTFE/PPS/P84 等多材质滤袋优质品牌精选及选购参考
  • 2025年最新销售管理系统使用指南:顶级销售是如何使用CRM系统? - SaaS软件
  • 2025 年激光焊锡源头厂家最新推荐排行榜:覆盖多行业需求,助力企业精准选优质设备供应商手机摄像头/线材类/通讯行业/FPC柔性线路板激光焊锡厂家推荐
  • 【光照】UnityURP中的[HDR贴图]
  • 2025 年激光粒度仪厂家最新推荐榜单:聚焦行业标杆与新兴势力,助力科研与生产精准选购纳米粒度及Zeta电位仪厂家推荐
  • 第五周第二天5.2
  • ​​电压探头的应用场景与技术选型指南​​
  • 循环调用接口,使用promise.all的应用
  • 部署zabbix proxy代理服务服务器
  • 完整教程:Docker搭建ESPIDF环境,程序下载
  • 基于Java+Springboot+Vue开发的体育用品购物销售商城管理系统源码+运行步骤
  • AI Agent 产品推荐方案
  • 2025年国内分散釜优质厂家排行榜:值得推荐的分散釜厂家有哪些?
  • 彩笔运维勇闯机器学习--GBDT - 详解
  • 二层环路检测
  • 2025年国内搅拌釜优质厂家排行榜:值得推荐的搅拌釜厂家有哪些?
  • 告别词穷!我发现了一款免费无限量的 Midjourney 提示词神器!
  • 音频标签,无语义的布局标签,字符实体(尖括号和空格)
  • 2025 年最新推荐票务系统厂家综合实力榜单:覆盖高铁站 / 景区 / 高校实训等场景,精准盘点优质品牌景区售检票务系统/高校铁路仿真售检票务系统/模拟铁路12306自动售检实训票务系统厂家推荐