-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
12/13 新書到! 10/8 新書到! 10/1 新書到! 9/24 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

框架設計(第2版)——CLR Via C#

( 簡體 字)
作者:[美]Jeffrey Richter類別:1. -> 程式設計 -> .NET -> C#
譯者:周靖/張杰良
出版社:清華大學出版社框架設計(第2版)——CLR Via C# 3dWoo書號: 3962
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:11/1/2006
頁數:542
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:7302140162
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

著名技術作家Jeff Richter 新作,助您迅速掌握CLR
在經典暢銷書《Microsoft .NET框架程序設計》的最新版中,深入剖析了.NET Framework和CLR 2.0的內部機制。Jeffrey是深受愛戴的編程專家,同時也是Microsoft .NET開發團隊的顧問。本書是他多年開發和咨詢經驗的結晶,是開發人員開發任何一類應用程序(包括ASP.NET、Windows窗體、Microsoft SQL Server,Web服務和控制臺應用程序)的理想參考。
通過本書提供的動手指導和豐富的C#范例代碼,開發人員可掌握難解的主題,開發出高性能的應用程序。
本書特色主題:
·構建、部署、管理應用程序、組件和共享程序集并對其進行版本控制
·用常量、字段、構造函數、方法、屬性和事件來設計類型
·高效使用CLR的特殊類型,如枚舉器、數組和字符串等
·聲明、創建和使用委托來揭示回調函數
·用接口和泛型來定義和部署可重用的算法
·定義、使用和檢測自定義屬性
·使用異常處理來構建健壯、穩定、安全性更強的組件
·用垃圾收集機制自動管理內存,并使用本地資源
·應用CLR宿主、應用程序域、程序集加載和反射,構建動態可擴展的應用程序。
目錄:

第Ⅰ部分 CLR基礎
第1章 CLR的執行模型 3
1.1 將源代碼編譯成托管模塊 3
1.2 將托管模塊合并成程序集 6
1.3 加載公共語言運行庫 7
1.4 執行程序集的代碼 9
1.4.1 IL和驗證 14
1.4.2 不安全的代碼 15
1.5 本地代碼生成器:NGen.exe16
1.6 Framework類庫入門 18
1.7 通用類型系統 20
1.8 公共語言規范(CLS) 22
1.9 與非托管代碼的互操作性 26
第2章 生成、打包、部署和管理
應用程序及類型 28
2.1 .NET Framework部署目標 28
2.2 將類型集成到模塊中 29
2.3 元數據概述 32
2.4 合并模塊以構成一個程序集 38
2.4.1 使用Visual Studio IDE在項目
中添加程序集 43
2.4.2 使用程序集鏈接器 44
2.4.3 在程序集中包含
資源文件 45
2.5 程序集版本資源信息 46
2.6 語言文化 49
2.7 簡單應用程序部署
(私有部署的程序集) 50
2.8 簡單管理控制(配置) 51
第3章 共享程序集和
強命名程序集 54
3.1 兩種程序集,兩種部署 55
3.2 為程序集指派強名稱 56
3.3 全局程序集緩存 61
3.4 在生成的程序集中引用
一個強命名程序集 66
3.5 強命名程序集能防范篡改 67
3.6 延遲簽名 68
3.7 私有部署強命名程序集 70
3.8 運行庫如何解析類型引用 71
3.9 高級管理控制(配置) 73
第Ⅱ部分 類型的使用
第4章 類型基礎 81
4.1 所有類型都是從
System.Object派生的 81
4.2 強制類型轉換 83
4.3 命名空間和程序集 86
4.4 運行時的相互關系 90
第5章 基元、引用和值類型 98
5.1 編程語言的基元類型 98
5.2 引用類型和值類型 103
5.3 值類型的裝箱和拆箱 108
5.4 使用接口更改已裝箱值類型中的字段
(以及為什么不應該這樣做) 118
5.5 對象相等性和身份標識 120
5.6 對象哈希碼 123
第Ⅲ部分 類型的設計
第6章 類型和成員基礎 127
6.1 類型成員的種類 127
6.2 類型的可見性 130
6.3 成員的可訪問性 131
6.4 靜態類 133
6.5 部分類、結構和接口 134
6.6 組件、多態和版本控制 135
6.6.1 CLR如何調用虛方法、
屬性和事件 137
6.6.2 巧妙使用類型的可見性和
成員的可訪問性 140
6.6.3 類型版本控制過程中虛
方法的處理 143
第7章 常量和字段 147
7.1 常量 147
7.2 字段 148
第8章 方法:構造器、操作符、
轉換操作符 和參數 151
8.1 實例構造器和類(引用類型)151
8.2 實例構造器和結構(值類型)154
8.3 類型構造器 156
8.4 操作符重載 161
8.5 轉換操作符方法 164
8.6 通過引用向方法傳遞參數 167
8.7 向方法傳遞可變數量的參數 172
8.8 聲明方法的參數類型 174
8.9 常量方法和參數 175
第9章 屬性 176
9.1 無參屬性 176
9.2 有參屬性 180
9.3 調用屬性訪問器方法的性能 184
9.4 屬性訪問器的可訪問性 185
9.5 泛型屬性訪問器方法 185
第10章 事件 186
10.1 設計一個對外提供事件的類型 187
10.1.1 第一步:定義一個類型用于存放所有需要發送給事件通知接收者的附加信息187
10.1.2 第二步:定義事件成員 188
10.1.3 第三步:定義一個負責
引發事件的方法來通知已
訂閱事件的對象事件已經發生 189
10.1.4 第四步:定義一個方法,
將輸入轉化為期望事件 190
10.2 如何實現事件 190
10.3 設計一個監聽事件的類型 192
10.4 事件與線程安全 193
10.5 顯式控制事件的訂閱與注銷194
10.6 設計一個定義多個事件的類型196
第Ⅳ部分 基本類型
第11章 字符、字符串和文本 201
11.1 字符 201
11.2 System.String類型 204
11.2.1 構造字符串 204
11.2.2 字符串是不可變的 206
11.2.3 比較字符串 206
11.2.4 字符串留用 212
11.2.5 字符串池 214
11.2.6 檢查字符串的字符
和文本元素 214
11.2.7 其他字符串操作 216
11.3 高效率地動態構造一個字符串 217
11.3.1 構造一個
StringBuilder對象 217
11.3.2 StringBuilder的成員 218
11.4 獲取對象的字符串表示 220
11.4.1 特定的格式和語言 220
11.4.2 將多個對象格式化
成單個字符串 224
11.4.3 提供定制格式化器 225
11.5 解析字符串來獲取一個對象 227
11.6 編碼:在字符和字節之間轉換 229
11.6.1 字符和字節流的
編碼/解碼 234
11.6.2 Base-64字符串編碼
和解碼 235
11.7 安全字符串 236
第12章 枚舉類型和位標志 239
12.1 枚舉類型 239
12.2 位標志 244
第13章 數組 247
13.1 數組的類型轉換 249
13.2 所有數組都隱式繼承自
System.Array 251
13.3 所有數組都隱式實現IEnumerable,
ICollection和Ilist 252
13.4 數組的傳遞與返回 253
13.5 創建下界非0的數組 253
13.6 數組訪問性能 254
13.7 非安全數組訪問和
固定長度數組 258
第14章 接口 261
14.1 類和接口的繼承 261
14.2 定義接口 262
14.3 接口的繼承 263
14.4 調用接口方法詳解 265
14.5 接口方法的隱式和顯式實現
(幕后細節) 266
14.6 泛型接口 267
14.7 泛型接口和接口約束 269
14.8 實現具有相同方法名和簽名的
多個接口 270
14.9 用顯式接口方法實現改進編譯時
類型安全 271
14.10 謹慎使用顯式接口方法實現 272
14.11 設計:基類還是接口 275
第15章 委托 277
15.1 初識委托 277
15.2 使用委托來回調靜態方法 279
15.3 使用委托回調實例方法 280
15.4 委托揭秘 281
15.5 使用委托回調多個方法(鏈式) 285
15.6 C#對委托鏈的支持 288
15.7 對委托鏈調用進行更多控制 289
15.8 C#為委托提供的語法便利 291
15.8.1 語法快捷方式1:
不需要構造委托對象 291
15.8.2 語法快捷方式2:
不需要定義回調方法 292
15.8.3 語法快捷方式3:
不需要指定回調方法
的參數 293
15.8.4 語法快捷方式4:
不需要將局部變量人工封裝
到類中,即可將它們
傳給一個回調方法 294
15.9 委托和反射 296
第16章 泛型 300
16.1 FCL中的泛型 304
16.2 Wintellect的Power Collections庫 305
16.3 泛型基礎結構 306
16.3.1 開放和封閉式類型 307
16.3.2 泛型類型和繼承 308
16.3.3 泛型類型同一性 310
16.3.4 代碼爆炸 311
16.4 泛型接口 311
16.5 泛型委托 312
16.6 泛型方法 313
16.7 泛型和其他成員 315
16.8 可驗證性和限制 315
16.8.1 主要約束 317
16.8.2 次要約束 318
16.8.3 構造器約束 319
16.8.4 其他可驗證性問題 320
第17章 自定義屬性 323
17.1 使用自定義屬性 324
17.2 定義自己的屬性 327
17.3 屬性構造器和Field/Property
數據類型 330
17.4 檢測自定義屬性的使用 331
17.5 兩個屬性實例的相互匹配 334
17.6 檢測自定義屬性的使用,同時
不創建Attribute派生對象 337
17.7 條件屬性類 339
第18章 可空值類型 341
18.1 C#對可空值類型的支持 342
18.2 C#的空接合操作符 344
18.3 CLR對可空值類型的特殊支持344
18.3.1 對可空值類型進行裝箱 344
18.3.2 對可空值類型進行拆箱 345
18.3.3 通過可空值類型來
調用GetType 346
18.3.4 通過可空值類型
調用接口方法 346
第Ⅴ部分 CLR實用特性
第19章 異常 349
19.1 異常處理的演變 350
19.2 異常處理機制 351
19.2.1 try塊 352
19.2.2 catch塊 352
19.2.3 finally塊 354
19.3 符合公共語言規范(CLS)的異常與
不符合CLS的異常 354
19.4 異常的準確定義 356
19.5 System.Exception類 358
19.6 FCL中預定義的異常類 359
19.7 拋出異常 361
19.8 定義自己的異常類 361
19.9 如何正確地使用異常 364
19.9.1 驗證方法的參數 364
19.9.2 合理使用finally塊 367
19.9.3 避免捕獲所有的異常 368
19.9.4 從異常中順利恢復 369
19.9.5 當異常無法修復時,
回滾局部完成的操作 369
19.9.6 隱藏實現細節,
維持“約定” 370
19.10 性能考慮 372
19.11 未處理異常 374
19.12 異常堆棧跟蹤 376
19.13 調試異常 378
第20章 自動內存管理(垃圾收集) 380
20.1 理解垃圾收集平臺的
基本工作原理 380
20.2 垃圾收集算法 383
20.3 垃圾收集與調試 387
20.4 使用終結操作來釋放本地資源 389
20.4.1 確保終結操作使用
CriticalFinalizerObject
類型 390
20.4.2 SafeHandle類型及其
派生類型 391
20.4.3 使用SafeHandle類型實現
非托管代碼之間的
互操作 393
20.5 對托管資源使用終結操作 395
20.6 哪些事件會導致Finalize
方法的調用 397
20.7 終結操作內部揭秘 398
20.8 釋放模式:強制對象清理資源 401
20.9 使用實現了釋放模式的類型 404
20.10 C#的using語句 407
20.11 一個有趣的依賴問題 409
20.12 人工監視和控制對象的生存期 410
20.13 對象復蘇 417
20.14 對象的代 418
20.15 使用本地資源的其他
垃圾收集特性 423
20.16 預測需求較多內存的操作
能否成功 426
20.17 編程控制垃圾收集器 427
20.18 與垃圾收集器性能相關的
其他一些話題 430
20.18.1 免同步的多線程分配 431
20.18.2 可擴展并行收集 431
20.18.3 并發收集 431
20.18.4 大尺寸對象 432
20.19 監視垃圾收集 433
第21章 CLR寄宿和應用程序域 435
21.1 CLR寄宿 435
21.2 應用程序域 438
21.3 應用程序域的卸載 450
21.4 宿主如何使用應用程序域 451
21.4.1 控制臺和Windows窗體
應用程序 451
21.4.2 Microsoft Internet
Explorer 452
21.4.3 Microsoft ASP.NET Web
窗體和XML Web服務
應用程序 452
21.4.4 Microsoft SQL Server
2005 453
21.4.5 預測與展望 453
21.5 高級宿主控制 453
21.5.1 使用托管代碼管理CLR 453
21.5.2 編寫健壯的宿主
應用程序 454
21.5.3 宿主如何恢復線程 455
第22章 程序集的加載與反射 459
22.1 程序集的加載 459
22.2 使用反射構建動態可擴展
應用程序 463
22.3 反射的性能 463
22.3.1 發現程序集中定義
的類型 464
22.3.2 類型對象的準確含義 465
22.3.3 構建派生自Exception
的類型的層次結構 467
22.3.4 構建類型的實例 468
22.4 設計支持插件的應用程序 470
22.5 使用反射發現類型的成員 473
22.5.1 發現類型成員 473
22.5.2 BindingFlags:篩選返回
成員的類型 477
22.5.3 發現類型的接口 478
22.5.4 調用類型的成員 480
22.5.5 一次綁定、多次調用 483
22.5.6 使用綁定句柄來
減小工作集 487
第23章 執行異步操作 490
23.1 CLR如何使用Windows線程 490
23.2 高效線程使用圣典 491
23.3 CLR線程池簡介 493
23.4 限制線程池中線程的數量 494
23.5 使用線程池執行受計算限制
的異步操作 495
23.6 使用專用線程執行受計算限制
的異步操作 497
23.7 定期執行受計算限制的異步操作 499
三個定時器的史話 500
23.8 異步編程模型簡介 501
23.9 使用APM執行受I/O限制
的異步操作 502
23.10 APM的三個聚集技巧 504
23.10.1 APM的等待直至
完成聚集技巧 504
23.10.2 APM的輪詢聚集技巧 506
23.10.3 APM的方法回調聚
集技巧 508
23.11 使用APM執行受計算限制
的異步操作 512
23.12 APM與異常 514
23.13 對APM的重要說明 514
23.14 執行上下文 516
第24章 線程同步 519
24.1 內存一致性、易失內存訪問
與易失字段 520
24.1.1 易失讀取和寫入 522
24.1.2 C#對易失字段的支持 524
24.2 互鎖方法 526
24.3 Monitor類與同步塊 527
24.3.1 “偉大想法” 527
24.3.2 “偉大想法”的實現 528
24.3.3 使用Monitor類管理
同步塊 529
24.3.4 Microsoft最初計劃
的同步方式 530
24.3.5 使用C#的lock語句
簡化代碼 531
24.3.6 Microsoft最初計劃
同步靜態成員的方式 532
24.3.7 為什么“偉大想法”
思想毫無偉大之處 533
24.3.8 著名的雙檢鎖技巧 535
24.4 ReaderWriterLock類 537
24.5 使用托管代碼中的Windows
內核對象 538
序: