运行时内存模型
运行时中,类型、对象、线程和托管对有相互的关系。CLR的一个windows进程,这个进程中可能存在多个现在。
一个线程创建时,会分配1M的栈。这个栈主要用于方法传递实参和方法内部定义的局部变量。
如果方法中有涉及到对象,则在堆中创建类型对象和类型实例。类型对象主要由类型对象指针、同步块索引、静态字段、
方法列表组成。类型实例主要由类型对象指针、同步块索引、实例字段组成。
其中类型实例的类型对象指针指向类型对象的类型对象指针。它们的相互关系如下图所示。
通过这张图,可以清楚了解运行时的内存由那些部分组成。对于后续理解CLR有一定的帮助。