1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形 ...
关于C .NET性能 在上次的例子里面,第二次执行Console.WriteLine 方法时,会完全跳过JITCompiler编译。因为第一次已经完全编译为了本地CPU指令并且返回了指令在内容里的入口地址,所以这一次会直接跳转到该方法的内存地址处执行代码,当然也会比第一次的性能要高。 C 性能较之C C 低在哪 在托管环境中,完成代码的编译会经历两个过程: .源码首先被编译为IL代码 .执行代码时 ...
2012-07-10 18:59 17 3112 推荐指数:
1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形 ...
public void TestMethod1() { string str = "ABCDEFGHIJKLMN"; stri ...
...
C#里可以嵌入非托管代码,这就涉及到了这些代码资源的释放。以前总是看到别人的代码里那么写,也没有好好想想为什么,今天看了书,总结一下。 资源释放分为两种: 托管的 非托管的 两者的释放方式不一致: 没有非托管资源的,GC在运行时,会自动回收和释放; 含有非托管资源 ...
封装、继承、多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了。我一直认为学习OO的最好方法就是结合实践,封装、继承在实际工作中的应用随处可见,但多态呢?也许未必,可能不经意间用到也不会把它跟“多态”这个词对应起来。在此抛砖引玉 ...
概念引用:http://blog.csdn.net/yujie_yang/article/details/53173752 多线程和多进程的区别:任务管理器里各种不同的进程就是多进程,或者是你同时运行多个”.exe’程序就可以理解为多进程,多进程是要更多消耗CPU资源的。 多线程是相对于进程里 ...
在C# 2.0中引入了泛型,泛型的出现解决了编码中的很多问题。相信大家一定经常用到"System.Collections.Generic"命名空间中的泛型集合类("Generic"就是泛型的意思)。在C# 1.0中,我们还在使用"System.Collections"命名空间中的非泛型集合类 ...
,以确保每个操作都是有效即时的,也即保证其操作的原子性。lock是C#中最常用的同步方式,格式为lock(o ...