![]()
内容推荐 本书将指导你了解.NET内存管理内部工作原理、陷阱和技术,有效避免软件中的各种性能和可伸缩性问题。这本综合性指南将帮助你从而编写更好的软件。本书经过微软.NET团队的全面审读,包含25个极有价值的故障排除方案,旨在帮助你诊断具有挑战性的内存问题。读者还将从许多.NET内存管理“规则”中获益,这些规则引入了编写内存感知代码以及避免常见破坏性陷阱的方法。本书将抽丝剥茧,揭开.NET内存管理的神秘面纱,指导你找出隐藏在深处的性能问题,写出与之有效交互的卓越软件。 作者简介 叶伟民,广州.NET技术俱乐部主席、中国香港Azure/.NET技术俱乐部创始人兼主席、.NET社区联盟建设者,在.NET编程领域有15年工作经验。 目录 第1章 基本概念 1.1 内存相关术语 1.1.1 静态分配 1.1.2 寄存器机 1.1.3 堆栈(Stack) 1.1.4 堆栈机 1.1.5 指针 1.1.6 堆(Heap) 1.2 手动内存管理 1.3 自动内存管理 1.4 引用计数 1.5 跟踪回收器(Tracking Collector) 1.5.1 标记阶段 1.5.2 回收阶段 1.6 小历史 1.7 本章小结 规则1-自学 第2章 底层内存管理 2.1 硬件 2.1.1 内存 2.1.2 CPU 2.2 操作系统 2.2.1 虚拟内存 2.2.2 large page 2.2.3 虚拟内存碎片 2.2.4 通用内存布局 2.2.5 Windows 内存管理 2.2.6 Windows 内存布局 2.2.7 Linux 内存管理 2.2.8 Linux内存布局 2.2.9 操作系统的影响 2.3 NUMA和CPU组 2.4 本章小结 规则2-避免随机访问,拥抱循序访问 规则3-提高空间和时间数据局部性 规则4-不要放弃使用更高级技巧的可能性 第3章 内存测量 3.1 尽早测量 3.1.1 开销和侵入性 3.1.2 采样与跟踪 3.1.3 调用树 3.1.4 对象图 3.1.5 统计 3.1.6 延迟与吞吐量 3.1.7 内存转储、跟踪、实时调试 3.2 Windows 环境 3.2.1 概述 3.2.2 VMMap 3.2.3 性能计数器 3.2.4 Windows事件跟踪 3.2.5 Windows 性能工具包 3.2.6 PerfView 3.2.7 ProcDump, DebugDiag 3.2.8 WinDbg 3.2.9 反汇编程序和反编译程序 3.2.10 BenchmarkDotNet 3.2.11 商业工具 3.3 Linux 环境 3.3.1 概况 3.3.2 Perfcollect 3.3.3 Trace Compass 3.3.4 内存转储 3.4 本章小结 规则5-尽早测量GC 第4章 .NET基础知识 4.1 .NET版本 4.2 .NET内部原理 4.3 程序集和应用程序域 4.4 进程内存区域 …… 第5章 内存分区 第6章 内存分配 第7章 垃圾回收——简介 第8章 垃圾回收——标记阶段 第9章 垃圾回收——计划阶段 第10章 垃圾回收——清除和压缩 第11章 GC风格 第12章 对象生存期 第13章 其他主题 第14章 高级技巧 第15章 编程API |