首页 > Windows开发 > 详细

C#基础——堆和栈

时间:2020-07-03 11:50:40      阅读:53      评论:0      收藏:0      [点我收藏+]

栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义,通常用于值类型;堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。

引用类型总是存放在堆中。

存放在栈中时要管存储顺序,保持着先进后出的原则,他是一片连续的内存域,有系统自动分配和维护;

堆是无序的,他是一片不连续的内存域,有用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收。

栈内存无需我们管理,也不受GC管理。当栈顶元素使用完毕,立马释放。而堆则需要GC清理。

使用引用类型的时候,一般是对指针进行的操作而非引用类型对象本身。但是值类型则操作其本身。

C#基础——堆和栈

原文:https://www.cnblogs.com/LY-CS/p/13229284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!