提十个有趣的关于.Net CLR,GC的PopQuiz

近日研究CLRGC,在msdn blog上面看到MS CLR测试小组的一个女技术员提出了十几个问题,感觉问题都挺有趣,也有一定的难度,遂加以修改,删除了几个又添加了几个,广泛征集回答 ^_^

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

1.         一个托管进程,如果运行在一个双核CPU的机器上,GC是运行于Server GC模式,在假设CPU没有Hyper thread功能的话,这个托管进程会有几个GC Thread?可以用调试工具来证明你的判断吗?

2.         在一个多核的服务器上,如果运行一个winform app程序,这个程序对实时响应的要求比较高,应该使用哪种GC模式?为什么?(可以选择Server GCWorkstation GCConcurrent-Workstation

3.         在什么情况或者什么操作下,会进行一次垃圾回收?

4.         什么使一个ObjectGeneration 0移动到Gen 1,或者是从Gen 1Gen 2Pinned Objects呢?

5.         如果一台机器是四核CPU,在运行Server modeGCWorkstation ModeGC的时候,分别有多少个GC Heap

6.         Dotnet Framework 2.0下,如果发现一个进程里面加载了mscorwks.dll,那么可以因此判定这个线程是运行在Workstation ModeGC下面?

7.         可以手工的改变一个进程的GC运行模式吗?在什么样的情况下如何修改?

8.         为什么要在打开一个数据库连接时候用完了就关闭这个连接?GC不会给我们处理这些事情么?

9.         Strong ReferencesWeak ReferencePinned Reference有什么区别?

10.     Large Object Heap中,所有的大对象是没有经过筛选顺序堆放在一起的吗?


也没有真正的标准答案,回答的有理有据就对。 

如果大部分的问题对于你来说都是小case,那么赶紧告诉我你的msn吧,俺这里还有一大票Puzzling Question Queue…..

转载于:https://www.cnblogs.com/lbq1221119/archive/2008/02/29/1085780.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值