性能优化方法总结.doc

性能优化方法总结.doc

ID:55551795

大小:98.50 KB

页数:39页

时间:2020-05-16

性能优化方法总结.doc_第1页
性能优化方法总结.doc_第2页
性能优化方法总结.doc_第3页
性能优化方法总结.doc_第4页
性能优化方法总结.doc_第5页
资源描述:

《性能优化方法总结.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.NET性能优化方法总结Ver1.02009-1-20目录1.C#语言方面...41.1垃圾回收...41.1.1避免不必要的对象创建...41.1.2不要使用空析构函数★...41.1.3实现IDisposable接口...41.2String操作...51.2.1使用StringBuilder做字符串连接...51.2.2避免不必要的调用ToUpper或ToLower方法...51.2.3最快的空串比较方法...61.3多线程...61.3.1线程同步...61.3.2使用ThreadStatic替代NameData

2、Slot★...71.3.3多线程编程技巧...71.4类型系统...81.4.1避免无意义的变量初始化动作...81.4.2ValueType和ReferenceType.81.4.3尽可能使用最合适的类型...91.5异常处理...101.5.1不要吃掉异常★...101.5.2不要吃掉异常信息★...101.5.3避免不必要的抛出异常...101.5.4避免不必要的重新抛出异常...101.5.5捕获指定的异常,不要使用通用的System.Exception.101.5.6要在finally里释放占用的资源...1

3、11.6反射...111.6.1反射分类...121.6.2动态创建对象...121.6.3动态方法调用...121.6.4推荐的使用原则...121.7基本代码技巧...131.7.1循环写法...131.7.2拼装字符串...131.7.3避免两次检索集合元素...131.7.4避免两次类型转换...141.7.5为字符串容器声明常量,不要直接把字符封装在双引号""里面。...141.7.6用StringBuilder代替使用字符串连接符“+”.141.7.7避免在循环体里声明变量,...151.8Hashtable

4、.151.8.1Hashtable机理...151.8.2使用HashTale代替其他字典集合类型的情形:...161.9避免使用ArrayList。...161.10从XML对象读取数据...171.11避免使用递归调用和嵌套循环,...171.12使用适当的Caching策略来提高性能...172.Ado.Net172.1应用Ado.net的一些思考原则...182.2Connection.182.2.1在方法中打开和关闭连接...182.2.2显式关闭连接...182.2.3确保连接池启用...192.2.4不要缓

5、存连接...192.3Command.192.3.1使用ExecuteScalar和ExecuteNonQuery.192.3.2使用Prepare.192.3.3使用绑定变量★...192.4DataReader202.4.1显式关闭DataReader202.4.2用索引号访问代替名称索引号访问属性...202.4.3使用类型化方法访问属性...202.4.4使用多数据集...202.5DataSet212.5.1利用索引加快查找行的效率...212.使用DataView..213.ASP.NET.213.1减少往返

6、行程(ReduceRoundTrips)...213.2避免阻塞和长时间的作业...223.3使用缓存...223.4多线程...223.5系统资源...233.6页面处理...233.7ViewState.234.JScript244.1JScript性能优化的基本原则...244.2JScript语言本身的优化...244.3DOM相关...274.4其他...281.C#语言方面1.1垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1避免不必要

7、的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 1.1.1.1避免循环创建对象★ 如果对象并不会随每次循环而改变状态,那么在循环中反复创建对象将带来性能损耗。高效的做法是将对象提到循环外面创建。 1.1.1.2在需要逻辑分支中创建对象 如果对象只在某些逻辑分支中才被用到,那么应只在该逻辑分支中创建对象。 1.1.1.3使用常量避免创建对象 程序中不应出现如newDecimal(0)之类的代码,这会导致小对象频繁创建及回收,正确的做法是使用Deci

8、mal.Zero常量。我们有设计自己的类时,也可以学习这个设计手法,应用到类似的场景中。 1.1.1.4使用StringBuilder做字符串连接1.1.2不要使用空析构函数★ 如果类包含析构函数,由创建对象时会在Finalize队列中添加对象的引用,以保证当对象无法可达时,仍然可以调用到Finalize方法。垃圾回

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。