- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[性能优化方法总结
.NET 性能优化方法总结 Ver 1.0 2009-1-20目录1. C#语言方面... 41.1 垃圾回收... 41.1.1 避免不必要的对象创建... 41.1.2 不要使用空析构函数 ★... 41.1.3 实现 IDisposable 接口... 41.2 String 操作... 51.2.1 使用 StringBuilder 做字符串连接... 51.2.2 避免不必要的调用 ToUpper 或 ToLower 方法... 51.2.3 最快的空串比较方法... 61.3 多线程... 61.3.1 线程同步... 61.3.2 使用 ThreadStatic 替代 NameDataSlot ★... 71.3.3 多线程编程技巧... 71.4 类型系统... 81.4.1 避免无意义的变量初始化动作... 81.4.2 ValueType 和 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里释放占用的资源... 111.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.8 Hashtable. 151.8.1 Hashtable机理... 151.8.2 使用HashTale代替其他字典集合类型的情形:... 161.9 避免使用ArrayList。... 161.10从XML对象读取数据... 171.11 避免使用递归调用和嵌套循环,... 171.12 使用适当的Caching策略来提高性能... 172. Ado.Net 172.1 应用A的一些思考原则... 182.2 Connection. 182.2.1 在方法中打开和关闭连接... 182.2.2 显式关闭连接... 182.2.3 确保连接池启用... 192.2.4 不要缓存连接... 192.3 Command. 192.3.1 使用ExecuteScalar和ExecuteNonQuery. 192.3.2 使用Prepare. 192.3.3 使用绑定变量 ★... 192.4 DataReader 202.4.1 显式关闭DataReader 202.4.2 用索引号访问代替名称索引号访问属性... 202.4.3 使用类型化方法访问属性... 202.4.4 使用多数据集... 202.5 DataSet 212.5.1 利用索引加快查找行的效率... 212. 使用DataView.. 213.ASP.NET. 213.1 减少往返行程(Reduce Round Trips)... 213.2 避免阻塞和长时间的作业... 223.3 使用缓存... 223.4 多线程... 223.5 系统资源... 233.6 页面处理... 233.7 ViewState. 234.JScript 244.1 JScript性能优化的基本原则... 244.2 JScript语言本身的优化... 244.3 DOM相关... 274.4 其他... 28 1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 避免循环创建对象 ★ 如果对象并不会随每次循环而改变状态,那么在循环中反复创建对象将带来性能损耗。高效的做法是将对象提到循环外面创建。 在需要逻辑分支中创建对象 如果对象只在某些逻辑分支中才被用到,那么应只在该逻辑分支中创建对象。 使用常量避免创建对象 程序中不应出现如 new Decimal(0) 之类的代码,这会导致小对象频繁创建及回收,正确的
您可能关注的文档
- [金华建筑密度、容积率计算及建筑层高控制规定.doc
- [钓鱼岛是中国领土.ppt
- [怎样让电脑速度加快.doc
- [刑法总论判断题.doc
- [怎样让英语课堂活起来.doc
- [钓鱼岛是中国的1.ppt
- [怎样识别狗狗是否健康.doc
- [钓鱼岛背后的美国因素.ppt
- [针对女性消费群体的手机消费行为分析的产品设计.ppt
- [钓鱼岛看法作业ppt.ppt
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)