一、线程堆栈和托管堆

1.线程堆栈 

每个正在运行的程序都对应一个进程(Process),在一个进程内部,可以有一个或多个线程(Thread)。每个线程都拥有一块内存,成为线程堆栈。用于保存局部变量、传递的参数等。

值类型变量所占用的内存单元是在线程堆栈中分配的。

2.托管堆

在.NET环境下,堆由CLR进行管理,所以将其成为托管堆

引用类型变量引用的对象所占用的内存是在托管堆中分配的。

3.引用类型变量的内存模型

class MyClass
{    
     public int Value;
     public int[] Numbers = new int[10]; 
}

static void Main(string[] args)
{
   MyClass obj;
   obj = new MyClass();
}

变量obj存放于线程堆栈,保存托管堆中MyClass类型对象的地址。

 

 

posted on 2014-11-23 13:27  那一年,那一天  阅读(92)  评论(0)    收藏  举报

导航