社区
.NET技术前瞻
帖子详情
堆和栈谁能详细解答一下具体含义呢
jmghoul
2009-10-22 11:59:16
堆和栈有什么区别 他们都是内存空间吗 谁能详细说下 还有入栈出栈顺序 谢谢
...全文
87
6
打赏
收藏
堆和栈谁能详细解答一下具体含义呢
堆和栈有什么区别 他们都是内存空间吗 谁能详细说下 还有入栈出栈顺序 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzhdim
2009-10-26
打赏
举报
回复
这个贴还在啊。还没结。。。。。。。
hjhgg
2009-10-22
打赏
举报
回复
偶帮顶起来啊
Dobzhansky
2009-10-22
打赏
举报
回复
看上下文
主要是 stack 的概念,
描述变量存储时;
描述函数调用时. 需要区分一下.
xiulinwang123
2009-10-22
打赏
举报
回复
棧是線程的私有空間,各自的線程都不能隨意訪問其它線程的私有空間,除非特別處理,值類型的存儲空間都是存儲在棧中的.棧的內存地址是從大到小的分配,棧的運行速度要快,但其空間大小有限.
堆是進程地址空間中的一個內存區域,所有同一個進程下的線程都可以訪問這個內存區域,它用於分配引用類型實例.完全由垃圾收集器控制.引用類型的存儲空間都是在堆中.它除了存儲類中的數據還要存儲類的行為.托管堆完全由.net垃圾回收器控制.它處理速度要比棧慢,但它的空間相對大得多
猿来是我
2009-10-22
打赏
举报
回复
楼上说的就是。
打个比方补充一下:栈,整齐有序的排好队的一群人;堆栈,一个大广场,有物资需要放的话就空降到那里吧,只是物资都贴有标签。
lzhdim
2009-10-22
打赏
举报
回复
在.net中。堆和栈是这样的。
值类型的对象都是存储在栈上。而这个栈是在内存中分配的,速度比较快。用来保存临时的变量或者函数的参数。栈是先入后出的,即后入栈的对象先出栈。
如函数 void Test(string tt,int i) {} ;在调用函数时,比如:Test("str",19);先复制函数的参数"str"和19,生成一个副本,先把"str"入栈,再把19入栈。在函数返回时,即return;,这时候先把19出栈,再把"str"出栈。
堆,在.NET中叫做托管堆。意思是受CLR托管的对象。堆也是内存的控件,但是它的大小可以覆盖整个内存和虚拟内存,但是它的速度相对 栈 来说比较慢。引用类型的对象的数据都是保存在 托管堆 上的。注意,引用类型的对象是保存在 栈 上的,但是它指向的数据 保存在 托管堆 里面。
不知道这样说你明白了没。。。
关于
堆
和
栈
的那些事儿
关于
堆
和
栈
的那些事 2014-09-14 分类:算法设计、编程开发、首页精华2人评论 来源:独酌逸醉 分享到:更多7 欢迎分享开发问题到码农社区!将问题帖子私信@程序员俱乐部,将有近60000人为您
解答
! 问题描述 编程语言...
java中为什么分
栈
内存和
堆
内存?
java中
栈
内存和
堆
内存
C语言—内存的管理和释放
内存分配方式二、详解
堆
和
栈
1.
堆
和
栈
的简介2.
堆
和
栈
的区别三、内存管理函数四、其它知识1.(嵌入式开发中)程序编译完成后的大小统计2.数据存储区域实例3.字符串与字符数组 一、Linux下内存分配管理 1.编译好的C...
【机试题】2019大疆嵌入式笔试题A卷(附超
详细
解答
)
就凭借着记忆,把一些记得住的笔试题分享
一下
,作下记录。 整个大疆嵌入式线上笔试,分为选择题(单选题、多选题)、填空题、简答题、编程题。也没有将所有的题目都记得,就分成填空选择题、简答题和编程题三块来...
【嵌入式基础】2019大疆嵌入式笔试题A卷(附超
详细
解答
)
就凭借着记忆,把一些记得住的笔试题分享
一下
,作下记录。 整个大疆嵌入式线上笔试,分为选择题(单选题、多选题)、填空题、简答题、编程题。也没有将所有的题目都记得,就分成填空选择题、简答题和编程题三块来...
.NET技术前瞻
13,347
社区成员
5,388
社区内容
发帖
与我相关
我的任务
.NET技术前瞻
.NET技术 .NET技术前瞻
复制链接
扫一扫
分享
社区描述
.NET技术 .NET技术前瞻
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章