提十個有趣的關於.Net CLR,GC的PopQuiz

來源:互聯網
上載者:User

近日研究CLR和GC,在msdn blog上面看到MS CLR測試小組的一個女技術員提出了十幾個問題,感覺問題都挺有趣,也有一定的難度,遂加以修改,刪除了幾個又添加了幾個,廣泛徵集回答 ^_^

 

1.         一個主控處理序,如果運行在一個雙核CPU的機器上,GC是運行於Server GC模式,在假設CPU沒有Hyper thread功能的話,這個主控處理序會有幾個GC Thread?可以用調試工具來證明你的判斷嗎?

2.         在一個多核的伺服器上,如果運行一個winform app程式,這個程式對即時響應的要求比較高,應該使用哪種GC模式?為什嗎?(可以選擇Server GC,Workstation GC,Concurrent-Workstation)

3.         在什麼情況或者什麼操作下,會進行一次記憶體回收?

4.         什麼使一個Object從Generation 0移動到Gen 1,或者是從Gen 1到Gen 2?Pinned Objects呢?

5.         如果一台機器是四核CPU,在運行Server mode的GC和Workstation Mode的GC的時候,分別有多少個GC Heap?

6.         在Dotnet Framework 2.0下,如果發現一個進程裡面載入了mscorwks.dll,那麼可以因此判定這個線程是運行在Workstation Mode的GC下面?

7.         可以手工的改變一個進程的GC運行模式嗎?在什麼樣的情況下如何修改?

8.         為什麼要在開啟一個資料庫連接時候用完了就關閉這個串連?GC不會給我們處理這些事情嗎?

9.         Strong References,Weak Reference,Pinned Reference有什麼區別?

10.     在Large Object Heap中,所有的大對象是沒有經過篩選順序堆放在一起的嗎?

也沒有真正的標準答案,回答的有理有據就對。 

如果大部分的問題對於你來說都是小case,那麼趕緊告訴我你的msn吧,俺這裡還有一大票Puzzling Question Queue…..

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.