《编写高性能的.NET代码》内容简介与阅读建议

获取这本书 暂无已核验电子书资源
下载
作者
Ben Watson
分类
计算机类
出版年份
2017
语言
中文

《编写高性能的.NET代码》内容简介

本书详细介绍了如何编写高性能的.NET程序,在zui大化托管代码性能的同时,还能保证.NET的特性优势。 本书循序渐进地深入.NET的各个部分,特别是底层的公共语言运行时(Common Language Runtime,CLR),了解CLR是如何完成内存管理、代码编译、并发处理等工作的。本书还详细介绍了.NET的架构,探讨了编程方式如何影响程序的整体性能,在全书中,还分享了发生在微软的一些趣闻轶事。本书的内容偏重于服务器程序,但几乎所有内容也同样适用于桌面端和移动端应用程序。 本书条理清楚,言简意赅,适合有一定.NET基础的读者和想要提高代码性能的C#程序员学习参考。

《编写高性能的.NET代码》书籍信息摘要

《编写高性能的.NET代码》内容简介与阅读建议,作者 Ben Watson,计算机类,2017年。获取前建议核对作者、出版社、年份、ISBN、版本和正版渠道。相关主题:计算机类。

《编写高性能的.NET代码》适合哪些读者?

适合根据书名、作者、目录、标签和格式继续判断阅读价值的读者。

获取建议

《编写高性能的.NET代码》怎么获取更合适?

优先确认版本和阅读目的;下载区只展示已核验的公版、授权、开放许可或官方试读资源。

下载

暂无已核验电子书资源;本站不展示未授权完整文件。

下载

版本

优先选择作者、译者、出版社、出版年份和 ISBN 信息明确的版本;经典作品可优先选择校注、导读或权威出版社版本。

目录

  1. 目录
  2. 第1章性能评估及工具 1
  3. 1.1选择评估内容 1
  4. 1.2平均值还是百分位值 3
  5. 1.3评估工具 4
  6. 1.3.1Visual Studio 5
  7. 1.3.2性能计数器 7
  8. 1.3.3ETW事件 13
展开全部(共 230 章节)
  1. 1.3.4PerfView 15
  2. 1.3.5CLR Profiler 18
  3. 1.3.6Windbg 20
  4. 1.3.7.NET IL分析器 24
  5. 1.3.8MeasureIt 25
  6. 1.3.9代码中的工具 25
  7. 1.3.10SysInternals工具 26
  8. 1.3.11数据库 26
  9. 1.3.12其他工具 27
  10. 1.3.13评估本身的开销 27
  11. 1.4小结 27
  12. 第2章垃圾回收 28
  13. 2.1基本运作方式 30
  14. 2.2配置参数 33
  15. 2.2.1工作站模式还是服务器模式 33
  16. 2.2.2后台垃圾回收 34
  17. 2.2.3低延迟模式
  18. (Low Latency Mode) 35
  19. 2.3减少内存分配量 36
  20. 2.4首要规则 37
  21. 2.5缩短对象的生存期 37
  22. 2.6减少对象树的深度 38
  23. 2.7减少对象间的引用 38
  24. 2.8避免对象固定 38
  25. 2.9避免使用终结方法 39
  26. 2.10避免分配大对象 40
  27. 2.11避免缓冲区复制 41
  28. 2.12对长期存活对象和大型对象进行
  29. 池化 41
  30. 2.13减少LOH的碎片整理 45
  31. 2.14某些场合可以强制执行完全
  32. 回收 46
  33. 2.15必要时对LOH进行碎片
  34. 整理 47
  35. 2.16在垃圾回收之前获得通知 47
  36. 2.17用弱引用作为缓存 50
  37. 2.18评估和研究垃圾回收性能 51
  38. 2.18.1性能计数器 51
  39. 2.18.2ETW事件 52
  40. 2.18.3垃圾回收的耗时 53
  41. 2.18.4内存分配的发生时机 54
  42. 2.18.5查看已在LOH中分配内存的
  43. 对象 55
  44. 2.18.6查看内存堆中的全部对象 57
  45. 2.18.7为什么对象没有被回收 60
  46. 2.18.8哪些对象被固定着 61
  47. 2.18.9内存碎片的产生时机 63
  48. 2.18.10对象位于第几代内存堆中 67
  49. 2.18.11第0代内存堆中存活着哪些
  50. 对象 68
  51. 2.18.12谁在显式调用GC.Collect
  52. 方法 70
  53. 2.18.13进程中存在哪些弱引用 70
  54. 2.19小结 71
  55. 第3章JIT编译 72
  56. 3.1JIT编译的好处 73
  57. 3.2JIT编译的开销 73
  58. 3.3JIT编译器优化 75
  59. 3.4减少JIT编译时间和程序启动
  60. 时间 76
  61. 3.5利用Profile优化JIT编译 78
  62. 3.6使用NGEN的时机 78
  63. 3.6.1NGEN本机映像的优化 79
  64. 3.6.2本机代码生成 80
  65. 3.7JIT无法胜任的场合 80
  66. 3.8评估 81
  67. 3.8.1性能计数器 81
  68. 3.8.2ETW事件 82
  69. 3.8.3找出JIT耗时最长的方法和
  70. 模块 82
  71. 3.9小结 83
  72. 第4章异步编程 84
  73. 4.1使用Task 86
  74. 4.2并行循环 89
  75. 4.3避免阻塞 92
  76. 4.4在非阻塞式I/O中使用Task 92
  77. 4.4.1适应Task的异步编程模式 94
  78. 4.4.2使用高效I/O 96
  79. 4.5async和await 97
  80. 4.6编程结构上的注意事项 99
  81. 4.7正确使用Timer对象 100
  82. 4.8合理设置线程池的初始大小 101
  83. 4.9不要中止线程 102
  84. 4.10不要改变线程的优先级 102
  85. 4.11线程同步和锁 103
  86. 4.11.1真的需要操心性能吗 103
  87. 4.11.2我真的需要用到同步锁吗 104
  88. 4.11.3多种同步机制的选择 105
  89. 4.11.4内存模型 106
  90. 4.11.5必要时使用volatile 106
  91. 4.11.6使用Interlocked方法 108
  92. 4.11.7使用Monitor(锁) 110
  93. 4.11.8该在什么对象上加锁 112
  94. 4.11.9异步锁 112
  95. 4.11.10其他加锁机制 115
  96. 4.11.11可并发访问的集合类 116
  97. 4.11.12使用更大范围的锁 116
  98. 4.11.13替换整个集合 117
  99. 4.11.14将资源复制给每个线程 118
  100. 4.12评估 118
  101. 4.12.1性能计数器 118
  102. 4.12.2ETW事件 119
  103. 4.12.3查找争用情况最严重的锁 120
  104. 4.12.4查找线程在I/O的阻塞位置 120
  105. 4.12.5利用Visual Studio可视化展示
  106. Task和线程 121
  107. 4.13小结 122
  108. 第5章编码和类设计的一般规则 123
  109. 5.1类和“结构”的对比 123
  110. 5.2重写“结构”的Equals和
  111. GetHashCode方法 126
  112. 5.3虚方法和密封类 128
  113. 5.4接口的分发(Dispatch) 128
  114. 5.5避免装箱 129
  115. 5.6for和foreach的对比 131
  116. 5.7强制类型转换 133
  117. 5.8P/Invoke 134
  118. 5.9委托 136
  119. 5.10异常 137
  120. 5.11dynamic 138
  121. 5.12自行生成代码 141
  122. 5.13预处理 146
  123. 5.14评估 146
  124. 5.14.1ETW事件 146
  125. 5.14.2查找装箱指令 147
  126. 5.14.3第一时间发现“异常” 149
  127. 5.15小结 150
  128. 第6章使用.NET Framework 151
  129. 6.1全面了解所用API 151
  130. 6.2多个API殊途同归 152
  131. 6.3集合类 152
  132. 6.3.1泛型集合类 153
  133. 6.3.2可并发访问的集合类 154
  134. 6.3.3其他集合类 156
  135. 6.3.4创建自定义集合类型 156
  136. 6.4字符串 157
  137. 6.4.1字符串比较 157
  138. 6.4.2ToLower和ToUpper 158
  139. 6.4.3字符串拼接 158
  140. 6.4.4字符串格式化 158
  141. 6.4.5ToString 159
  142. 6.4.6避免字符串解析 159
  143. 6.5应避免使用正常情况下也会抛出
  144. “异常”的API 159
  145. 6.6避免使用会在LOH分配内存的
  146. API 159
  147. 6.7使用延迟初始化 160
  148. 6.8枚举的惊人开销 161
  149. 6.9对时间的跟踪记录 162
  150. 6.10正则表达式 164
  151. 6.11LINQ 164
  152. 6.12读取文件 165
  153. 6.13优化HTTP参数及网络
  154. 通讯 166
  155. 6.14反射 167
  156. 6.15评估 168
  157. 6.16性能计数器 168
  158. 6.17小结 169
  159. 第7章性能计数器 170
  160. 7.1使用已有的计数器 170
  161. 7.2创建自定义计数器 171
  162. 7.2.1Averages 172
  163. 7.2.2Instantaneous 173
  164. 7.2.3Deltas 173
  165. 7.2.4Percentages 173
  166. 7.3小结 174
  167. 第8章ETW事件 175
  168. 8.1定义事件 175
  169. 8.2在PerfView中使用自定义
  170. 事件 178
  171. 8.3创建自定义ETW事件
  172. Listener 179
  173. 8.4获取EventSource的详细
  174. 信息 184
  175. 8.5自定义PerfView分析插件 186
  176. 8.6小结 189
  177. 第9章Windows Phone 190
  178. 9.1评估工具 190
  179. 9.2垃圾回收和内存 191
  180. 9.3JIT 191
  181. 9.4异步编程和内存模式 192
  182. 9.5其他问题 193
  183. 9.6小结 193
  184. 第10章代码安全性 194
  185. 10.1充分理解底层的操作系统、API
  186. 和硬件 194
  187. 10.2把API调用限制在一定范围的
  188. 代码内 194
  189. 10.3把性能要求很高、难度很大的
  190. 代码集中起来并加以抽象 199
  191. 10.4把非托管代码和不安全代码
  192. 隔离出来 200
  193. 10.5除非有证据证明,不然代码清晰
  194. 度比性能更重要 200
  195. 10.6小结 200
  196. 第11章建立追求性能的开发团队 201
  197. 11.1了解最影响性能的关键
  198. 区域 201
  199. 11.2有效的测试 201
  200. 11.3性能测试平台和自动化 202
  201. 11.4只认数据 203
  202. 11.5有效的代码复查 203
  203. 11.6 训练 204
  204. 11.7 小结 205
  205. 附录A尽快启动对应用程序的性能
  206. 讨论 206
  207. 定义指标 206
  208. 分析CPU占用情况 206
  209. 分析内存占用情况 206
  210. 分析JIT 207
  211. 分析异步执行性能 207
  212. 附录B大O表示法 209
  213. 常见算法及其复杂度 211
  214. 排序算法 211
  215. 图论算法 211
  216. 查找算法 212
  217. 特殊案例 212
  218. 附录C参考文献 213
  219. 参考书籍 213
  220. 相关人士及博客 213
  221. 《编写高性能的.NET代码》[美]沃森【文字版_PDF电子书_下载】大小:14.70MB已经过安全软件检测无毒,请您放心下载。
  222. 浏览器不支持脚本!

常见问题

《编写高性能的.NET代码》适合谁读?

适合根据书名、作者、目录、标签和格式继续判断阅读价值的读者。

《编写高性能的.NET代码》阅读难度高吗?

建议先看简介、目录、作者和相关书籍,再判断是否适合当前阶段阅读。

《编写高性能的.NET代码》纸质书值得买吗?

当前暂未接入已核验的纸质书购买链接,建议通过出版社、京东、当当等正版渠道核对版本后购买。

《编写高性能的.NET代码》哪个版本更适合?

优先选择作者、译者、出版社、出版年份和 ISBN 信息清楚的版本;经典作品可优先选择校注、导读或权威出版社版本。

在哪里可以合法获取《编写高性能的.NET代码》?

当前没有确认授权的电子书下载资源,也暂未接入已核验购买链接;商业出版物不提供未授权下载,建议通过出版社、京东、当当或官方电子书平台核对获取。

如何继续查找《编写高性能的.NET代码》相关书籍?

可以进入 Ben Watson 作者页查看其他作品,也可以通过分类、标签、排行榜、人工推荐和“读完这本还可以读”继续发现相近主题。

手机扫码下载

使用手机扫描二维码

扫码后会直接打开下载链接。

电子书下载二维码

手机端点击下载会直接跳转,无需扫码。