书籍详情
《NET内存管理宝典》[52M]百度网盘|亲测有效|pdf下载
  • NET内存管理宝典

  • 出版社:玉林阁图书专营店
  • 出版时间:2021-03
  • 热度:7060
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

基本信息

  • 商品名:.NET内存管理宝典978730□571339
  • ISBN:9787302571339
  • 定价:139
  • 出版社:清华大学出版社
  • 作者:[波兰],康拉德·科克萨(Konrad,Kokosa)

参考信息(以实物为准)

  • 出版时间:2021-03-01
  • 印刷时间:
  • 版次:1
  • 印次:
  • 包装:平装
  • 开本:16开
  • 用纸:胶版纸
  • 页数:
  • 字数:

产品特色

内容简介

了解.NET内存管理的内部工作原理、陷阱和技术,以便有效地避免软件中出现各种性能和可伸缩性问题。尽管.NET具有自动内存管理功能,但了解 .NET的内存管理工作原理以及如何□好地编写与之高效交互的软件方面仍有许多益处。《.NET内存管理宝典 提高代码质量、性能和可扩展性》是你通过了解和处理 .NET 中的内存管理来编写出更好软件的全面指南。

  《.NET内存管理宝典 提高代码质量、性能和可扩展性》经过了 Microsoft 的 .NET 团队全面审查,包含 了□5 个有价值的故障排除方案,旨在帮助诊断具有挑战性的内存问题。读者还将受益于多个 .NET 内存管理”规则”,这些规则介绍了编写内存感知代码的方法以及避免常见的破坏性陷阱的方法。

本书内容

● 了解自动内存管理的理论基础

● 深入研究.NET内存管理的各个方面,包括对垃圾回收(GC)实现的详细介绍,这些知识如果自行摸索需要多年经验才能获得

● 获得如何将这些知识应用于实际软件开发中的实用建议

●  使用与 .NET 内存管理相关工具的实用知识来诊断各种与内存相关的问题

● 探索高级内存管理的各个方面,包括使用Span和Memory类型


目录

目  录


□□章  基本概念  1

1.1  内存相关术语  □

1.□  手动内存管理  15

1.3  自动内存管理  19

1.4  引用计数  □3

1.5  跟踪回收器(Tracking Collector )  □6

1.6  小历史  3□

1.7  本章小结  34

规则1 – 自学  34

第□章  底层内存管理  37

□.1  硬件  37

□.□  操作系统  55

□.3  NUMA和CPU组  70

□.4  本章小结  71

规则□ – 避免随机访问,拥抱循序访问  71

规则3 – 提高空间和时间数据局部性  7□

规则4 – 不要放弃使用更高级技巧的可能性  7□

第3章  内存测量  73

3.1  尽早测量  74

3.□  Windows环境  81

3.3  Linux环境  1□3

3.4  本章小结  135

规则5 – 尽早测量GC  137

第4章  .NET基础知识  139

4.1  .NET版本  139

4.□  .NET内部原理  141

4.3  程序集和应用程序域  148

4.4  进程内存区域  150

4.5  类型系统  161

4.6  字符串  173

4.7  装箱与拆箱  185

4.8  按引用传递  188

4.9  类型数据局部性  190

4.10  静态数据  193

4.11  本章小结  197

规则6 – 测量你的程序  197

规则7 – 不要假设内存泄漏不存在  198

规则8 – 考虑使用结构  198

规则9 – 考虑使用字符串暂存  198

规则10 – 避免装箱  198

第5章  内存分区  □01

5.1  分区策略  □01

5.□  按大小分区  □0□

5.3  按生存期分区  □07

5.4  按物理分区  □□4

5.5  本章小结  □41

规则11 – 监视代大小  □41

规则1□ – 避免不必要的堆引用  □41

规则13 – 监视段使用情况  □4□

第6章  内存分配  □43

6.1  内存分配简介  □43

6.□  bump pointer分配  □44

6.3  空闲列表分配  □50

6.4  创建新对象  □53

6.5  堆再平衡  □60

6.6  OutOfMemoryException异常  □6□

场景6-1:OutOfMemoryException异常  □63

6.7  堆栈分配  □65

6.8  避免分配  □66

6.9  本章小结  300

规则14 – 在性能攸关的地方,

避免堆分配  300

规则15 – 避免过多的LOH分配  301

规则16 – 如果可行,在堆栈上分配  301

第7章  垃圾回收——简介  303

7.1  高层视图  303

7.□  GC过程的示例  304

7.3  GC过程的步骤  309

场景7-1:分析GC的使用情况  309

7.4  分析GC  313

7.5  垃圾回收性能调优数据  314

7.6  回收触发器  3□5

7.7  EE挂起  334

场景7-4:分析GC挂起时间  335

7.8  要判决的代  336

场景7-5:被判决的代的分析  338

7.9  本章小结  339

第8章  垃圾回收——标记阶段  341

8.1  对象的遍历与标记  341

8.□  局部变量根  34□

8.3  终结根  357

8.4  GC内部根  357

8.5  GC句柄根  358

8.6  处理内存泄漏  363

第9章  垃圾回收——计划阶段  371

9.1  小对象堆  371

9.□  大对象堆  389

9.3  压缩的决策  390

9.4  本章小结  391

□□0章  垃圾回收——清除和压缩  393

10.1  清除阶段  393

10.□  压缩阶段  394

10.3  本章小结  404

规则17 – 观察运行时挂起  405

规则18 – 避免“中年危机”  406

规则19 – 避免老的代和LOH碎片化  406

规则□0 – 避免显式GC  407

规则□1 – 避免内存泄漏  407

规则□□ – 避免固定  407

□□1章  GC风格  409

11.1  模式概述  409

11.□  模式配置  411

11.3  GC停顿和开销  413

11.4  模式描述  414

11.5  延迟模式  4□6

11.6  选择GC风格  431

11.7  本章小结  438

规则□3 – 有意识地选择GC模式  439

规则□4 – 记住延迟模式的相关知识  439

□□□章  对象生存期  441

1□.1  对象与资源的生命周期  441

1□.□  终结  44□

1□.3  Disposable对象  463

1□.4  安全句柄  468

1□.5  弱引用  473

1□.6  本章小结  486

规则□5 – 避免终结器  486

规则□6 – □□显式清理  487

□□3章  其他主题  489

13.1  依赖句柄  489

13.□  线程局部存储  494

13.3  托管指针  504

13.4  关于结构的更多知识  5□6

13.5  对象/结构布局  533

13.6  非托管约束  541

13.7  本章小结  546

□□4章  高级技巧  547

14.1  Span和Memory  547

14.□  Unsafe  568

14.3  面向数据设计  573

14.4  未来特性  585

14.5  本章小结  595

□□5章  编程API  597

15.1  GC API  597

15.□  CLR Hosting  609

15.3  ClrMD  616

15.4  TraceEvent库  6□1

15.5  自定义GC  6□3

15.6  本章小结  6□6


作者简介

作 者 简 介

Konrad Kokosa是一位经验丰富的软件设计师和开发人员。他对Microsoft公司的技术特别感兴趣,同时对其他所有技术也充满好奇。Konrad从事编程工作已经有十多年,解决过.NET世界中的许多性能问题和架构难题,设计和提升过.NET应用程序的运行速度。他是一名独立顾问,是meetup和技术会议讲师,喜欢写Twitter。Konrad还分享了他作为.NET领域培训讲师的激情岁月,特别是在应用程序性能、编码优秀实践和诊断方面。他是华沙Web性能小组的创始人。他是Visual Studio和开发工具类别中的Microsoft MVP。他是Dotnetos.org的联合创始人。Dotnetos.org由三位.NET爱好者发起,主要组织.NET性能相关的会议。


译 者 简 介

  叶伟民

《.NET并发编程实战》的译者。曾在美国旧金山工作,具有16年的.NET开发经验,目前从业于金融科技行业。

 

  涂曙光

前微软技术专家,专注于.NET和JavaScript技术领域。目前在私募基金行业从事低延迟交易系统的开发。