导航

2008年8月21日

摘要: 说明一下,本人都是利用工作后的业余时间无条件的为cnblogs写些技术心得.不管写的好还是不好,多还是少都只是希望更多的人能够收益,同时通过分析来提高自己的理解.希望大家能够相互尊重彼此的劳动. 另外我也理解汇编代码可能对大部分人来说太复杂也觉得不实用. 确实,如果只是停留在基础编程的话,可能这是多余的,但是如果希望自己能够深入理解clr的话,这可能又是必须的. 闲话少说,来看看Fore... 阅读全文

posted @ 2008-08-21 22:30 BitsBlue 阅读(2873) 评论(10) 推荐(0)

2008年8月20日

摘要: 看到有些博客谈到for 循环的性能要好于 foreach。那么到底是不是呢?如果是的话,究竟两者之间有什么区别? Jitted的代码可能是最直接的方式来了解两者的差异。 例子代码: namespace Test { class Sample { private static int counter; public int Value = cou... 阅读全文

posted @ 2008-08-20 21:14 BitsBlue 阅读(2650) 评论(14) 推荐(0)

2008年8月14日

摘要: 很多文章都谈到大于85,000字节的对象会放在LOH上. 但问题是如果一个对象包含了一个很大的字节数组或者一个huge字符串, 这种情况下到底是对象本身被分配到LOH还是被包含的字节数组或字符串呢? 最简单的方式,打开windbg来自己看看就知道了. 测试代码如下: class BigObj1 { public byte[] BigArray = new byt... 阅读全文

posted @ 2008-08-14 22:59 BitsBlue 阅读(2273) 评论(3) 推荐(1)

2008年8月13日

摘要: 执行一个full GC, 例如 GC.Collect(2),其实就是一个在不同 Generation标识和清扫的过程。具体大概的步骤如下: 首先给所有在LOH(Large object heap) 上的对象打上标识. 然后检查每个被标识的对象是否有其他对象引用. 如果对象被引用, 该对象将被取消标识, 对于没有引用的对象将准备被清除. LOH被清扫。所有被标识的对象从内存中被释放... 阅读全文

posted @ 2008-08-13 20:12 BitsBlue 阅读(1251) 评论(9) 推荐(0)