惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

博客园 - 怀雷

关于C指针 TCP/IP简介 IP协议简介 RARP―――逆地址解析协议 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制? 计算机网络原理与Internet技术(第五章) 计算机网络原理与Iternet技术(第四章) 计算机网络原理与Iternet技术(第三章) 计算机网络原理与Iternet技术(第二章) 计算机网络原理与Internet技术(第一章) ARP协议简介 Effective C# 原则2:为你的常量选择readonly而不是const[转载] 在数据库中创建定时任务[原创] 往事以矣 说事[转帖] 装箱(Boxing)和拆箱(Unboxing)[原创] 分部类(Partial Classes)[原创] 大连出差最大的收获 Page_Load()中IsPostBack用法浅析[原创]
堆、栈和本地堆浅析
怀雷 · 2008-05-21 · via 博客园 - 怀雷
 

堆、栈和本地堆

堆和栈站在数据结构的方面来说与堆栈是一样的,在内存方面来说,它们为内存的不同的区域,它们都是连续的内存空间,在分配和销毁空间时都满足后进先出的特点。

拿一个应用程序来说,堆中保存全局变量,栈中保存局部变量,在一个应用程序开始执行时,堆的空间就定了,栈是在代码段中的,在这段空间中,除去代码占用的空间,其余的空间会分配给栈,说堆时要考虑操作系统,不同的操作系统堆的分配也不同。

访问栈中的数据速度较访问堆中的数据要快,原因是操作程序对栈的操作是段内寻址,而对堆的操作是段间寻址。

堆又名自由存储区,其上的对象生命周期一般比较长,不会随方法执行完毕而消亡。栈是依赖于方法而存在的,其上的对象生命周期一般比较短,方法执行结束后,栈会被清空,其上所有的对象都会随之而消亡。

本地堆是相对于.NET中的托管堆而言的。本地堆上的对象生命周期全部由程序员负责,在C++中表现为new操作符和delete操作符。而托管堆上的对象生命周期部分地由垃圾收集器负责,在VC++ 2005中程序员可以用gcnew来在托管堆上为对象分配内存,但是对象内存的释放却要由垃圾收集器来负责。