当前位置:首页 > 工业技术
高级.NET程序设计
高级.NET程序设计

高级.NET程序设计PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:Simon Robinson著;冉晓旻,王军译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302067899
  • 页数:467 页
图书介绍:本书主要讲述了中间语言——IL、CLR的工作原理、应用程序性能的优化和对系统资源使用情况的分析等。
《高级.NET程序设计》目录

第1章 中间语言导论 1

目 录 1

1.1 IL程序集简介 2

1.2 IL原理 6

1.3 IL编程 19

1.4 IL调试 38

1.4.1 VS.NET中的调试 38

1.4.2调试高级语言编译后得到的IL代码 39

1.4.3其他调试程序:CorDbg 39

1.4.4 IL中的编译时错误 41

1.5 小结 45

2.1 对象类型和值类型实例 46

第2章 中间语言深度挖掘 46

2.1.1 实例字段 47

2.1.2定义实例方法和属性 50

2.1.3 初始化和实例构造函数 52

2.1.4虚拟方法 60

2.1.5封箱和开箱 63

2.2枚举 66

2.3 数组 69

2.4通过P/Invoke调用非托管代码 72

2.5定义二进制数据 76

2.6异常处理 78

2.7属性 82

2.8反汇编IL和循环处理 86

2.9 小结 94

第3章CLR的运行原理 95

3.1 .NET Framework组件和ECMA标准 95

3.1.1 ECMA标准 96

3.1.2 Framework SDK资源 98

3.1.3共享源CLI 98

3.2值/引用类型系统 99

3.2.1 引用类型 99

3.2.2值类型 100

3.2.3封箱类型 100

3.2.4 System.ValueType和System.Enum 101

3.2.5 字段调整 102

3.2.6 使用C++直接访问托管堆内存 103

3.3 JIT编译:验证和确认 108

3.3.1代码验证 108

3.3.2类型安全验证 112

3.4托管代码和非托管代码 117

3.4.1非托管代码的调用原理 117

3.4.2混合托管类型和非托管类型 122

3.5 小结 130

第4章程序集 131

4.1 内部视图:程序集的物理结构 131

4.1.1 PE文件 132

4.1.2 CLR的PE扩展 135

4.1.3资源和资源文件 141

4.2外部视图:程序集的逻辑结构 143

4.2.1程序集的标识 144

4.2.2读取程序集的内容 146

4.2.3探讨程序集缓存 149

4.3查找程序集 153

4.3.1 Microsoft编译器查找程序集的原理 153

4.3.2 VS.NET查找程序集的原理 154

4.3.3 CLR探查程序集的原理 155

4.4生成程序集 157

4.4.1程序集实用程序 157

4.4.2编译资源文件 159

4.4.3本地化及附属程序集 161

4.5 综合应用 163

4.4.4为程序集签名 163

4.5.1命令行GreetMe示例 164

4.5.2 VS.NET GreetMe示例 173

4.6小结 176

第5章无用单元收集 177

5.1使用无用单元收集的原因 177

5.1.1 C/C++样式的清除 179

5.1.2 引用计算 180

5.13无用单元收集 181

5.2.NET无用单元收集器的运行原理 182

5.2.1调用GC 183

5.2.2获得对程序的控制 184

5.2.3 标识无用单元 184

5.2.4压缩堆 185

5.2.5 代 186

5.2.6析构函数和恢复 187

5.2.7通过编程控制无用单元收集器 188

5.3 实现Dispose()和Finalize() 190

5.3.1 Finalize/Dispose()的语义 190

5.3.2清除非托管资源 192

5.3.3 包含托管和非托管资源的类 197

5.3.4实现Dispose()和析构函数的指导原则 198

5.4 弱引用 202

5.5 小结 207

第6章改进性能 208

6.1 托管还是非托管 208

6.1.1 .NET及其未来 209

6.1.2.NET的性能优点 211

6.2 JIT编译器优化 213

6.3性能建议 227

6.4 小结 238

第7章剖面分析和性能计数器 240

7.1 Windows对性能监控的支持 240

7.2理解内存 241

7.2.1通过任务管理器访问内存 244

7.2.2 UseResources示例 247

7.3性能计数器 251

7.4 PerfMon 252

7.4.2通过性能计数器编码 254

7.4.1 .NET性能计数器 254

7.4.3 MonitorUseResources示例 256

7.4.4注册自己的性能计数器 257

7.5 剖面分析 260

7.5.1选择剖析工具 260

7.5.2编写自己的Profiling Timer代码 261

7.5.3 CompuwareProfiler示例程序 265

7.5.4配置剖析工具 267

7.5.5 Profiling API 267

7.6 小结 268

8.1 使用动态代码生成的理由 269

8.1.1 开发者工具 269

第8章动态代码生成 269

8.1.2基于性能的原因 270

8.2体系结构 271

8.3 使用Reflection.Emit类编码 272

8.3.1 创建一个已保存的可执行程序集 275

8.3.2创建并运行DLL程序集 278

8.4使用CodeDom类编码 281

8.4.1 创建Dom模型 282

8.4.2将DOM转换为源代码 283

8.4.3将源代码转换为IL代码 284

8.4.4 CodeDom类示例 284

8.5 小结 295

9.1 CLR线程支持 296

第9章线程 296

9.1.1托管线程的类型 298

9.1.2线程标识 301

9.1.3枚举非托管线程 301

9.2多线程技术 302

9.2.1异步委托调用 302

9.2.2显式地创建您自己的线程 303

9.2.3定时器 303

9.2.4 内置的异步支持 303

9.2.5将项目显式排列到线程池中 303

9.3 异步委托 303

9.4.1 数据同步原理 314

9.4 同步变量访问 314

9.4.2线程同步结构 319

9.4.3线程同步示例 322

9.5 定时器 325

9.6显式地创建和终止线程 330

9.7小结 336

第1 0章管理设备 337

10.1 WMI的基本概念 337

10.1.1一些WMI示例 339

10.1.2 WMI结构 341

10.1.3 WMI对象模型 344

10.1.4 WMI查询语言 349

1 0.2 使用System.Management类执行查询 352

10.3异步处理 361

10.4接收通知 364

10.5 小结 366

第1 1章高级Windows Forms技术 367

11.1 Windows消息的后台处理 368

11.1.1处理消息 369

11.1.2 Windows窗体和消息队列 371

11.1.3利用消息循环 372

11.2消息循环示例 376

11.2.1 直接处理消息 377

11.2.2 BeginInvoke()示例——初始化一个应用程序 379

11.2.3 Abort对话框示例 381

11.3 支持XP的控件 386

11.4 非矩形窗口 389

1 1.5 自绘制控件 394

1 1.6 图形 399

11.6.1 GDI和GDI+的比较 399

1 1.6.2 Screenshot示例 400

11.7小结 403

第12章代码访问安全性 405

12.1代码访问安全性概念 405

12.1.1针对单个程序集的CAS 406

12.1.2针对多个程序集的CAS 408

12.1.3 CLR权限 409

12.2与Windows安全性的关系 411

12.3.1代码组 413

12.3默认的安全策略 413

12.3.2权限集 414

12.4利用CAS编写代码 418

12.4.1强制性安全 418

12.4.2声明性安全 420

12.4.3好的编码实践 421

12.5 CAS的后台处理 422

12.6设置自定义权限 425

12.7确认权限 437

12.8 小结 438

第13章密码术 439

13.1 密码术的作用 439

13.2对称加密 441

13.3 公钥加密 447

13.3.1 密钥大小 449

13.3.2会话密钥 450

13.4散列法 450

1 3.5 数字签名 451

1 3.6 凭证 456

13.6.1 凭证的概念 457

13.6.2认证机构 457

13.6.3 Windows密码术模型 461

13.6.4创建凭证 462

13.6.5通过编程读取凭证 466

13.7小结 467

相关图书
作者其它书籍
返回顶部