没有合适的资源?快使用搜索试试~ 我知道了~
docnetc#中栈和堆的区别及代码在栈和堆中的执行流程详解之一 (2).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 157 浏览量
2023-02-27
20:37:55
上传
评论
收藏 347KB DOCX 举报
温馨提示
试读
10页
.
资源推荐
资源详情
资源评论
尽管在.NET framework 下我们并不需要担心内存管理和垃圾回收(Garbage Collection),但
是我们还是应该了解它们,以优化我们的应用程序。同时,还需要具备一些基础的内存管理
工作机制的知识,这样能够有助于解释我们日常程序编写中的变量的行为。在本文中我将讲
解栈和堆的基本知识,变量类型以及为什么一些变量能够按照它们自己的方式工作。
在.NET framework 环境下,当我们的代码执行时,内存中有两个地方用来存储这些代码。
假如你不曾了解,那就让我来给你介绍栈(Stack)和堆(Heap)。栈和堆都用来帮助我们运行
代码的,它们驻留在机器内存中,且包含所有代码执行所需要的信息。
栈负责保存我们的代码执行(或调用)路径,而堆则负责保存对象(或者说数据,接下来将
谈到很多关于堆的问题)的路径。
可以将栈想象成一堆从顶向下堆叠的盒子。当每调用一次方法时,我们将应用程序中所要发
生的事情记录在栈顶的一个盒子中,而我们每次只能够使用栈顶的那个盒子。当我们栈顶的
盒子被使用完之后,或者说方法执行完毕之后,我们将抛开这个盒子然后继续使用栈顶上的
新盒子。堆的工作原理比较相似,但大多数时候堆用作保存信息而非保存执行路径,因此堆
能够在任意时间被访问。与栈相比堆没有任何访问限制,堆就像床上的旧衣服,我们并没有
花时间去整理,那是因为可以随时找到一件我们需要的衣服,而栈就像储物柜里堆叠的鞋盒,
我们只能从最顶层的盒子开始取,直到发现那只合适的。
资源评论
xxpr_ybgg
- 粉丝: 6507
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功