比較值得參考的文檔:http://www.jb51.net/article/37214.htm。.net
.NET 的內存管理過程:指針
託管堆假設內存無限大,線性連續分配內存;htm
實際內存不夠使用時,遍歷託管堆對資源,對過時資源進行標記;接口
移除被標記的資源後對託管堆進行壓縮(從新從頭開始排列),調整堆指針到空閒內存的開頭;內存
另:資源
垃圾回收主要且微軟推薦讓CLR本身進行,不建議用 GC.Collect 指令;文檔
要本身負責非託管資源的回收:get