CLR via C#(第4版) 封面

CLR via C#(第4版)

评分 4.7
字数
102.1万字
章节数
36
丛书
微软技术丛书
ISBN
9787302380979

标签

内容简介

《CLR via C#(第4版)》是 Jeffrey Richter 的经典技术专著,中文版由周靖翻译,针对 .NET Framework 4.5 与 Visual Studio 2012 全面更新,深入讲解公共语言运行时(CLR)的工作机制。全书分五部分、约三十章:第一部分讲 CLR 的基础,包括执行模型,以及程序集的生成、打包、部署与共享程序集、强命名程序集;第二部分讲如何设计类型,涵盖类型基础,基元类型、引用类型与值类型,类型和成员基础,常量与字段,方法,参数,属性,事件,泛型与接口;第三部分讲基本类型,包括字符、字符串和文本处理,枚举类型和位标志,数组,委托,定制特性,可空值类型;第四部分深入核心机制,讨论异常和状态管理,托管堆与垃圾回收,CLR 寄宿和 AppDomain,程序集加载与反射,运行时序列化,以及与 WinRT 组件互操作;第五部分专讲线程处理,从线程基础、计算限制和 I/O 限制的异步操作,到基元线程同步构造和混合线程同步构造。作者以“知其然,更知其所以然”的方式,把类型布局、内存分配、JIT 编译、GC 回收、线程同步等底层机制讲得很透,并配以大量可运行示例,帮助读者写出高性能、可靠、可维护的 .NET 应用。

编辑推荐

很多 C# 开发者会写语法,却说不清一行代码在 CLR 里究竟发生了什么:对象在哪分配、字段如何布局、虚方法怎么派发、GC 何时回收、async 方法被编译成了什么。这本书回答的正是这些问题。Jeffrey Richter 是 Wintellect 联合创始人,也是长期为微软 .NET 团队提供咨询的资深专家,他讲机制时不堆砌术语,而是从“运行时设计者为什么这样选”切入,一层层揭开类型加载、JIT 编译、托管堆、垃圾回收、线程同步的实现细节,并配以示例与实验代码。周靖的译文严谨准确,术语处理统一,读起来顺畅。第 4 版按 .NET Framework 4.5 修订,新增与 WinRT 组件互操作的内容,重写了反射 API 与异步编程部分,并同步了 C# 5.0 的 async/await 模型,还提供了配套源代码。它不是教你“怎么用 API”的速查手册,而是帮你建立 CLR 心智模型的长期参考书;读透之后,排查内存泄漏、线程死锁和性能瓶颈时,你会知道该往哪里看。

适合谁读

适合

  • 已掌握 C# 基本语法、希望理解程序运行底层机制的开发者
  • 需要排查内存、GC 或线程性能问题的 .NET 工程师
  • 从事框架、中间件或公共库设计的中高级开发人员
  • 计算机专业学生,想从语言语法深入到运行时实现

不适合

  • 完全没有编程经验、想找入门教程的零基础读者
  • 只想快速学会用框架搭业务的初学者,本书内容对这类读者偏深
  • 主要技术栈不在 .NET 平台、不打算了解 CLR 的开发者

阅读建议

  1. 先通读第Ⅰ、Ⅱ部分,建立 CLR 执行模型和类型系统的整体图景,再按需精读后续章节
  2. 边读边对照配套源代码,在调试器里查看类型布局、IL 与 JIT 后的代码,理解才更扎实
  3. 第Ⅳ、Ⅴ部分(GC、线程同步、异步)篇幅重、难度高,建议分多次读,配合小型实验验证
  4. 把本书当工具书常备手边,遇到内存或并发问题时按章回查,比从头到尾读一遍更有收获

出版社简介

清华大学出版社 中国 · 成立于 1980 年

清华大学出版社创立于1980年,库内收录图书57种,涵盖科学科普、医学、健康、法律、哲学读物与社科等方向。代表图书既有菠萝(李治中)的《癌症·真相:医生也在读》《癌症·新知》等医学科普作品,也有《阳光是最好的防腐剂:全球反腐大要案快递》等法律类读物,以及七格的《脑洞大开的哲学简史》、刘云浩的《从互联到新工业革命》等。作者资源包括科普作家、医学研究者、中国人民大学反贪硕士班及高校学者,体现出兼顾学术性与大众阅读的出版特色。因公开资料有限,此处仅依据库内图书归纳其出版方向。

目录

  1. 第Ⅰ部分 CLR基础
  2. 第1章 CLR的执行模型
  3. 第2章 生成、打包、部署和管理应用程序及类型
  4. 第3章 共享程序集和强命名程序集
  5. 第Ⅱ部分 设计类型
  6. 第4章 类型基础
  7. 第5章 基元类型、引用类型和值类型
  8. 第6章 类型和成员基础
  9. 第7章 常量和字段
  10. 第8章 方法
  11. 第9章 参数
  12. 第10章 属性
  13. 第11章 事件
  14. 第12章 泛型
  15. 第13章 接口
  16. 第Ⅲ部分 基本类型
  17. 第14章 字符、字符串和文本处理
  18. 第15章 枚举类型和位标志
  19. 第16章 数组
  20. 第17章 委托
  21. 第18章 定制特性
  22. 第19章 可空值类型
  23. 第Ⅳ部分 核心机制
  24. 第20章 异常和状态管理
  25. 第21章 托管堆和垃圾回收
  26. 第22章 CLR寄宿和AppDomain
  27. 第23章 程序集加载和反射
  28. 第24章 运行时序列化
  29. 第25章 与WinRT组件互操作
  30. 第Ⅴ部分 线程处理
  31. 第26章 线程基础
  32. 第27章 计算限制的异步操作
  33. 第28章 I/O限制的异步操作
  34. 第29章 基元线程同步构造
  35. 第30章 混合线程同步构造
  36. 译者后记

常见问题

这本书适合零基础学 C# 的人吗?
不太适合。本书假设读者已掌握 C# 基本语法,重点讲 CLR 内部机制,缺少语言入门内容。零基础读者宜先找一本 C# 入门书,写完一些实际程序后再读本书。
第4版和第3版有什么区别?
第4版依据 .NET Framework 4.5 和 Visual Studio 2012 全面修订,新增与 WinRT 组件互操作一章,重写程序集加载与反射、序列化等章节,并同步 C# 5.0 的异步编程模型,篇幅也有所增加。
书里的知识对 .NET Core / .NET 5+ 还有用吗?
核心机制依然适用。类型布局、JIT、托管堆、GC 分代、线程同步构造等原理在 .NET Core 及后续版本中一脉相承;只是运行时寄宿、AppDomain、WinRT 互操作等章节已明显过时,阅读时需对照新版本甄别。
需要按顺序从头读到尾吗?
不必。建议先读第Ⅰ、Ⅱ部分打底,之后按兴趣或工作需要跳读。线程处理和垃圾回收章节相对独立,可单独精读;反射、序列化等章节可在做相关项目时查阅。
是否需要配合反编译或调试工具阅读?
强烈建议。配合 ILSpy、dotPeek 等工具查看编译器生成的 IL,或在调试器中观察对象布局与 GC 行为,能把书中抽象描述变成具体印象,理解效率会明显提高。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分