CLR via C#

Jeffrey Richter

出版时间

2014-12-31

ISBN

9787302380979

评分

★★★★★

标签

编程

书籍介绍

《CLR via C#(第4版)》针对CLR和.NET Framework 4.5进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书5部分共29章。第Ⅰ部分介绍CLR基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以核心机制为主题,第Ⅴ部分重点介绍线程处理。

通过本书的阅读,读者可以掌握CLR和.NET Framework的精髓,轻松、高效地创建高性能应用程序。

AI导读
核心看点
  • 深入解析CLR执行模型与.NET底层机制
  • 详解类型设计、垃圾回收及线程同步原理
  • 揭示C#语言特性背后的运行时行为真相
适合谁读
  • 希望深入理解.NET底层原理的C#开发者
  • 从事高性能应用开发的高级程序员
  • 需要排查复杂运行时问题的资深工程师
读前提醒
  • 内容深奥晦涩,建议结合代码实践阅读
  • 部分技术如WinRT已过时,需甄别适用性
  • 非基础教程,适合有一定经验的进阶者
读者共识
  • 被誉为.NET领域的圣经,经典之作
  • 翻译质量极高,注释贴心且专业
  • 虽部分章节难懂,但常看常新价值大

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "代码引用一个常量时,编译器会在定义常量的程序集的元数据中查找该符号,提取常量的值,并将值嵌入生成的IL代码中。"
  • "Different languages offer different capabilities.For example, in unmanaged C/C++, you have pretty low-level control of the system. You can manage memory exactly the way you want to, create threads easily if you need to, and so on. Microsoft Visual Basic 6.0, on the other hand, allows you to build UI"
  • "The C# using directive instructs the compiler to try prepend-ing different prefixes to a type name until a match is found. The compiler will scan all of the referenced assemblies looking for the type’s definition. After the compiler finds the proper assembly, the assembly information and the type in"
  • "The C# compiler, by default, automatically looks in the MSCorLib.dll assembly even if you don’t explicitly tell it to. The MSCorLib.dll assembly contains the definitions of all of the core Framework Class Library (FCL) types, such as Object, Int32, String, and so on."
  • "When a thread is created, it is allocated a 1-MB stack. This stack space is used for passing arguments to a method and for local variables defined within a method. Stacks build from high-memory addresses to low-memory addresses. All but the simplest of methods contain some prologue code, which initi"
  • "System.Object’s GetType method simply returns the address stored in the specified object's type object pointer member. In other words, the GetType method returns a pointer to an object’s type object, and this is how you can determine the true type of any object in the system (including type objects)"
  • "Any data types the compiler directly supports are called primitive types. Primitive types map directly to types existing in the Framework Class Library (FCL)."
  • "Even though unboxed value types don’t have a type object pointer, you can still call virtual methods (such as Equals, GetHashCode, or ToString) inherited or overridden by the type. If your value type overrides one of these virtual methods, then the CLR can invoke the method nonvirtually be- cause va"
作者简介
李希特(Jeffrey Richter),Wintellect联合创始人。数十年如一日痴迷于Windows和.NET的大师,数十年以来影响了若干代程序员的灵魂人物,经典著作《Windows核心编程》和《CLRviaC#》系列版本的缔造者。他崇尚大道至简,注重效率与实用性,尤其热爱化繁为简—去芜存菁。最值得一提的是,他特别擅长授人以渔,能够以通俗易懂、条理清晰的方式将普通读者望而却步的关键概念讲得透彻,讲得精彩。Jeffrey出版过12本Windows/.NET畅销书,曾经担任过MSDN Magazine特约编辑、Win32Q&A专栏作者、NETQ&A专栏作者和Concurrent Affairs(关于并发那些事儿)专栏作者。他还在很多全球性的商业研讨会上发表演讲。作为最懂Windows和NE丁的人,他从1990年开始就以顾问身份为微软提供服务—他写的代码先后被微软的很多产品广泛采用。此外,他还曾经为AT&T、IBM、英特尔、梦工厂、通用和惠普等提供过咨询服务。Jeffrey爱好广泛,他拥有飞机驾照和直升机驾照,是国际魔法师协会成员。他爱好音乐(尤其是20世纪70年代的爵士乐和前卫摇滚乐)、击鼓、火车模型和空手道。他还喜欢旅游和戏剧。目前,他与爱妻Kristin及爱子Aidan和Grant居住在华盛顿州的柯克兰。
目录
第1部分CLR基础
第1章CLR的执行模型
第2章生成、打包、部署和管理应用程序及类型
第3章共享程序集和强命名程序集
第2部分设计类型

显示全部
用户评论
.NET 领域的扛鼎之作。买了五六年,看两天放两年,一直看不完,月初看到有人说一个月看完,很受触动。于是下定决心,在 2021 年最后一个月,利用周末和每晚的时间,连续二十多天一次性看完了,收获满满。
.net工具书。
讲得很深,我暂时用不到这个层次的知识
Jeff 太牛了
20210131 理解50%
诶 用怎么多年c#,发现好多特性都没用过
jeff大佬的书!!会讲解比较底层的逻辑,帮助理解以前理解不了的部分,太感谢了!学习C#必读也不为过!
竟然发现这本没标记,这本书各个版本伴随着我的职业生涯,常看常新,圣经一样。
翻译我很不喜欢,比如CPU/IO Bound翻译成CPU/IO 限制,一开始看目录还不知道啥意思。原书尤其好,特别是最后几章说io bound, async/await, task, thread syncronization construct。另外,我相信作者写作时java的memory model已经有了volatile了,所以本书说的java double checking的问题已经完全不存在了。虽然作者不再出新版了,有些.net core/.net的内容没法覆盖,但我相信本书的内容依然不过时。
下载
收藏