注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NET.NET性能优化

.NET性能优化

.NET性能优化

定 价:¥32.00

作 者: (澳)Nick Wienholt著;田松茂,谢君英译;田松茂译
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

ISBN: 9787302110460 出版时间: 2005-08-01 包装: 平装
开本: 23cm 页数: 242 字数:  

内容简介

  .NET平台大大提高了软件开发的效率,但要想获得最佳性能的应用程序,还需要程序员对该平台进行优化。本书内容基于作者的切身实践,有助于程序员开发出高性能的应用程序。全书共分为15章和一个附录。第1-2章介绍了.NET性能方面的知识;第3-14章集中讲述.NET Framework特定领域的性能问题,包括类型设计、表达式、集合、编程语言、垃圾回收、异常、安全性、线程、I/O和序列化、远程处理、托管技术、CLR等内容;第15章是一个故障排除指南;附录A介绍了一些基准测试工具。 本书适合于熟悉.NET Framework的中高级程序员阅读。

作者简介

  NickWienholt是一位Windows和.NET顾问。过去10年间,Nick参与了多个IT项目,从海岸侵蚀的数字建模到财务和工资系统,最为成功的是乘客信息显示系统项目。他在该项目中担任RailServicesAustralia顾问,成为职业生涯中的一个亮点。PIDS项目在悉尼2000奥运会之前开发并安装,是奥运会期间国家火车成功运载无数观众的一个关键项目。Nick是SydneyDeep.NET用户组的创立者之一,并为PinnaclePublishing,AustralianDeveloperJournal和MicrosoftDeveloperNetwork撰写技术文档,是.NET相关新闻组的积极参与者,同时还是技术协会的常任会员。通过站点http://www.dotnetperformance.com可获得Nick的SKNUG演示文稿和文章。作为他在.NET领域所作贡献的奖赏,2002年他被授予“微软最有价值的专家奖”。

图书目录

第1章  简介 1
1.1  本书主要内容 1
1.2  解决具体的性能问题 2
1.3  性能和开发过程 3
1.3.1  性能优先级 3
1.3.2  测试环境和安全惯例 5
1.3.3  开发人员的职责 7
1.4  本章小结 7
第2章  考察性能 8
2.1  性能考察模式 8
2.2  白盒考察 10
2.2.1  反汇编器和反编译器 10
2.2.2  MSIL反汇编器 11
2.2.3  反编译器 13
2.2.4  Rotor 13
2.2.5  x86反汇编 14
2.2.6  效能评测器和系统工具:灰盒考察 15
2.3  使用基准测试工具进行黑盒考察 16
2.4  本章小结 21
第3章  类型的设计与实现 22
3.1  引用类型和值类型 22
3.2  对象的分配和填充 23
3.2.1  类构造函数 24
3.2.2  静态构造函数 25
3.2.3  静态构造函数的调用时间 25
3.2.4  规范实例 26
3.2.5  析构函数 27
3.3  类封装 28
3.4  实现接口 31
3.5  用户定义类型转换 32
3.6  方法修饰符 33
3.7  重写Equals方法 34
3.8  实现GetHashCode方法 37
3.9  装箱和拆箱 39
3.10  本章小结 40
第4章  字符串、文本和正则表达式 41
4.1  字符串的比较 42
4.2  字符串的格式化 45
4.3  枚举 47
4.4  空字符串 47
4.5  保留池 48
4.6  System.Text.StringBuilder 49
4.7  字符串反转 50
4.8  正则表达式 52
4.9  本章小结 55
第5章  集合 56
5.1  System.Array 56
5.1.1  矩形数组与交错数组 57
5.1.2  数组初始化 58
5.1.3  数组同步 58
5.1.4  非安全数组访问 59
5.2  System.Collections 61
5.3  枚举 65
5.3.1  循环终止 67
5.3.2  循环不变量 68
5.4  集合同步 68
5.5  散列码与IHashCodeProvider接口 70
5.6  堆栈分配 74
5.7  本章小结 75
第6章  编程语言的详细说明 76
6.1  Visual Basic .NET 78
6.1.1  字符串 79
6.1.2  错误处理 79
6.1.3  布尔逻辑 81
6.1.4  数组和集合 82
6.1.5  后期绑定 83
6.1.6  可选参数 84
6.1.7  低级别的执行控制 84
6.2  托管C++ 85
6.3  C# 87
6.4  J# 88
6.5  本章小结 89
第7章  垃圾回收与对象生存期管理 91
7.1  CLR垃圾回收器 91
7.2  非托管资源、清除以及终止化 94
7.2.1  终止化的开销 96
7.2.2  恰当使用垃圾回收进行资源清理 97
7.3  优化内存的使用 100
7.3.1  弱引用 102
7.3.2  对象循环利用和弱引用 102
7.4  固定 104
7.5  控制进程的内存使用量 106
7.6  内存监视工具 108
7.7  本章小结 108
第8章  异常 110
8.1  异常和异常处理 111
8.2  受保护代码块处理程序的效率 111
8.3  执行中断 112
8.4  受保护代码块 113
8.5  异常的重新抛出 114
8.6  恰当编写代码避免异常 116
8.7  异常的抛出 116
8.8  异常的监控 118
8.9  本章小结 118
第9章  安全性 119
9.1  安全性、应用程序设计和性能 119
9.2  公共语言运行库安全模型 120
9.2.1  加载过程中有效性和合法性验证 121
9.2.2  程序集 122
9.2.3  堆栈遍历和权限要求 123
9.3  密码术和加密 126
9.4  安全性能监视 128
9.5  本章小结 128
第10章  线程 129
10.1  线程同步 129
10.1.1  实现线程安全的代码 131
10.1.2  同步原语 133
10.1.3  线程调度 134
10.1.4  Thread.Sleep与Thread.SpinWait 138
10.1.5  资源争用和线程锁定 139
10.2  ReaderWriterLock 139
10.3  线程挂起 141
10.4  线程池 142
10.5  监视线程 144
10.6  本章小结 146
第11章  IO和序列化 147
11.1  IO性能背景 147
11.1.1  System.IO命名空间 148
11.1.2  读写磁盘 150
11.1.3  System.IO.FileStream 151
11.1.4  System.IO.BufferedStream类型 152
11.2  稀疏、压缩和内存映射文件 153
11.3  序列化 156
11.3.1  自定义序列化的优化技术 158
11.3.2  格式器的选择 159
11.4  本章小结 160
第12章  远程处理技术 161
12.1  跨应用程序域移动数据 161
12.2  Remoting信道选择 162
12.3  对象激活 165
12.4  调用方法 167
12.5  IIS寄宿 169
12.6  接收链 170
12.6.1  实现信道接收器 171
12.6.2  集合、等值性和序列化 173
12.6.3  使用信道接收器 174
12.7  监测Remoting 175
12.8  本章小结 176
第13章  .NET Framework与非托管代码的互操作性 177
13.1  P/Invoke调用 177
13.1.1  编组数据到托管类型 180
13.1.2  字符集 182
13.1.3  非托管DLL的加载和卸载 183
13.1.4  安全属性 183
13.2  COM 184
13.2.1  COM错误的转化 187
13.2.2  避免COM生成的异常 187
13.3  托管C++ 189
13.4  监测交互操作 191
13.5  本章小结 192
第14章  公共语言运行库 193
14.1  进程初始化 193
14.2  加载行为 194
14.2.1  重定位 195
14.2.2  强命名程序集 197
14.2.3  多模块程序集 198
14.2.4  加载器优化 200
14.2.5  卸载程序集 201
14.2.6  即时编译 202
14.3  方法和属性的内联 204
14.4  自定义属性 204
14.5  管理CLR 205
14.6  checked算术代码 208
14.7  Decimal类型 209
14.8  Debug版本和Release版本 209
14.9  托管应用程序的内存使用 210
14.10  反射 211
14.11  本章小结 212
第15章  解决性能问题 214
15.1  任务管理器 214
15.2  代码评测器 217
15.3  系统监视器 219
15.4  内存评测器 222
15.5  源代码底层 224
15.6  第三方工具 225
15.7  代码规范 226
15.8  PSS 226
15.9  企业级工具 227
15.9.1  分布式评测器 227
15.9.2  Visual Studio Analyzer 227
15.9.3  负载生成工具 228
15.10  本章小结 228
附录A  .NET基准测试工具 229
A.1  性能的比较 229
A.2  实现基准测试工具 231
A.2.1  函数调用 231
A.2.2  函数顺序 233
A.2.3  安装、清除以及摒弃测试结果 234
A.2.4  委托设计 235
A.2.5  测试执行 237
A.2.6  结果分析和表示 238
A.2.7  测试工具的体系结构 240
A.3  小结 242

本目录推荐