返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 编写高性能的.NET代码 (美)沃森(Ben Watson) 著;戴旭 译 专业科技 文轩网
  • 新华书店正版
    • 作者: (美)沃森(Ben Watson) 著;戴旭 译著
    • 出版社: 人民邮电出版社
    • 出版时间:2017-08-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: (美)沃森(Ben Watson) 著;戴旭 译著
    • 出版社:人民邮电出版社
    • 出版时间:2017-08-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2017-08-01
    • 字数:308千字
    • 页数:212
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115461919
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    编写高性能的.NET代码

    作  者:(美)沃森(Ben Watson) 著;戴旭 译
    定  价:59
    出 版 社:人民邮电出版社
    出版日期:2017年08月01日
    页  数:212
    装  帧:平装
    ISBN:9787115461919
    主编推荐

    内容简介

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

    作者简介

    Ben Watson从2008年开始就已经是微软的软件工程师了。他在必应(Bing)平台的研发团队工作时,建立了一套世界品质、基于.NET的高性能服务应用,足以应付几千台电脑发起的大容量、低延迟请求,用户数量高达几百万。他在业余时间喜欢参加地理寻宝游戏、阅读各种书籍、欣赏古典音乐,享受与妻子Leticia、女儿Emma的欢聚时刻。他还是《C# 4.0 How-To》一书的作者,该书已由Sams出版。
    戴旭,1973年生,浙江萧山人,西安建筑科技大学计算机应用学士,杭州电子科技大学软件工程硕士,不错项目管理师。

    精彩内容

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

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购