運行時內存模型
運行時中,類型、對象、線程和託管對有相互的關係。CLR的一個windows進程,這個進程中可能存在多個現在。
一個線程創建時,會分配1M的棧。這個棧主要用於方法傳遞實參和方法內部定義的局部變量。
如果方法中有涉及到對象,則在堆中創建類型對象和類型實例。類型對象主要由類型對象指針、同步塊索引、靜態字段、
方法列表組成。類型實例主要由類型對象指針、同步塊索引、實例字段組成。
其中類型實例的類型對象指針指向類型對象的類型對象指針。它們的相互關係如下圖所示。
通過這張圖,可以清楚瞭解運行時的內存由那些部分組成。對於後續理解CLR有一定的幫助。