.NET 小结之内存模型

.NET 小结之内存模型

为什么要解.NET 的内存模型

.NET下的内存管理、垃圾回收其实大部分不需要我们操心,因为大部分.NET已经帮我们做了,通常情况下也不需要考虑这些。但是如果想要了解一些.NET一些稍微“底层”的原理,如:“装箱、拆箱、对象生命周期等等”还是需要一点这方面的知识的。

内存模型初探 堆&&

园子中讨论堆和栈的文章很多,讲的都很不错,这里简单总结一下。

首先列出一些博文以供参考:

http://www.cnblogs.com/seanps/archive/2009/01/22/1379807.html

http://www.cnblogs.com/lxinxuan/archive/2007/01/24/629582.html

http://www.cnblogs.com/lucifer1982/archive/2008/03/16/1108456.html

http://www.cnblogs.com/happyhippy/archive/2007/04/12/710929.html

内存的管理分为三个过程:分配内存、使用内存、释放内存

而不同的类型数据分配在不同的内存空间上

l 引用类型的数据分配在Heap上,而这个值的引用分配在Stack

l 值类型的数据分配在申明它的地方,即值类型的数据既可能分配在Stack上,又可能分配在Heap上面,主要看它申明在什么地方。

eg:  实例引自《你必须知道的.NET

using System;

public class Test
{
static void Main()
{

MyStruct myStruct= new MyStruct();
MyClass myClass
= new MyClass();



MyStruct myStruct2= new MyStruct();
myStruct2
= myStruct;

MyClass myClass2
= new MyClass();
myClass2
= myClass;
}
}

结构体中的X分配在Stack上,而类中嵌套的X分配在Heap上。

详细了解:http://kb.cnblogs.com/page/42318/3/

.NET 类型分类

。。。。

(待续)

posted @ 2011-07-17 17:37  BangQ  阅读(1268)  评论(0编辑  收藏  举报