.NET 项目优化措施

1.资源的释放:推荐以 Dispose 模式来代替 Finalize 方式。
2.选择合适的垃圾收集器:工作站 GC 和服务期 GC。
3.在适当的情况下对对象实现弱引用。
弱引用是对象引用的一种 中间态 ,实现了对象既可以通过 GC 回收其内存,又可被应用程序访问的机制。在.NET中,WeakReference 类用于表示弱引用,通过其 Target 属性来表示要追踪的对象,通过其值赋给变量来创建目标对象的强引用.
4.尽可能以 using 来执行资源清理。
5.推荐使用泛型集合来代替非泛型集合。
6.初始化时最好为集合对象指定大小。
7.特定类型的 Array 性能优于 ArrayList。
8.字符串驻留机制,是 CLR 为 String 类型实现的特殊设计。
String 类型无疑是程序设计中使用最频繁、应用最广泛的基元类型,因此 CLR 在设计上为了提升 String类型性能考虑,实现了一种称为 字符串驻留 的机制,从而实现了相同
字符串可能共享内存空间。同时,字符串驻留是进程级的,垃圾回收不能释放 CLR 内部哈希表维护的字符串对象,只有进程结束时才释放。这些机制均为 String类型的性能提升
和内存优化提供了良好的基础。
9.合理使用 System.String 和 System.Text.StringBuilder。
10.尽量在子类中重写 ToString 方法。
ToString 方法是 System.Object 提供的一个公有的虚方法,.NET 中任何类型都可继承 System.Object 类型提供的实现方法,默认为返回类型全路径名称。在自定义类或结构中重写 ToString 方法,除了可以有效控制输出结果,还能在一定程度上减少装箱操作的发生。
11.for 和 foreach 的选择。
推荐选择 foreach 来处理可枚举集合的循环结构
12.以多线程处理应对系统设计。
13.尽可能少地抛出异常,禁止将异常处理放在循环内。
14.捕获异常时,catch 块中尽量指定具体的异常筛选器,多个 catch 块应该保证异常由特殊到一般的排列顺序。
15.以 is/as 模式进行类型兼容性检查。
以 is 来实现类型判断,以 as 实现安全的类型转换,是值得推荐的方法。
16.const 和 static readonly 的权衡。
const 是编译时常量,readonly 是运行时常量,所以 const 高效,readonly 灵活。在实际的应用中,推荐以 static readonly来代替 const,以解决 const 可能引起的程序集引用不一致问题,还有带来的较多灵活性控制。
17.尽量避免不当的装箱和拆箱,选择合适的代替方案。
18.尽量使用一维零基数组。
19.CLR 对一维零基数组使用了特殊的 IL 操作指令 newarr,在访问数组时不需要通过索引减去偏移量来完成,而且 JIT也只需执行一次范围检查,可以大大提升访问性能
20.以 FxCop 工具,检查你的代码。
FxCop 是微软开发的一个针对.NET 托管环境的代码分析工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值