《CLR via C#》 第三版的主要内容

2024-06-13 21:00:32

Jeffrey Richter 在他的博客中叙述了 CLR via C#第三版的主要内容,和改动。原本如下:(必要的地方加了翻译)

Last week I submitted the reaming chapters for my new book. It is now being edited and should be available right around the time that Visual Studio 2010 launches (March 22, 2010). (注:上周他提交了他的书(可能是给出版社),估计会在VS2010发布的时候,一同上市)

One place you can order it is here: http://www.amazon.com/CLR-via-C-Third-Pro-Developer/dp/0735627045 (注:Amazon已经可以预订了)

I know that many people will ask me what are the differences between the 2nd edition and the 3rd edition and so I thought I'd create this blog post to address this.

Overall, every chapter has been modified making the text clearer, fixing any known mistakes and I’ve added more 64-bit coverage as this hardware is becoming more commonplace. I' ve also embellished a lot of text to reflect new things that I've learned in the last 5 years since the previos edition of the book was published. In addtion, since the 2nd Edition of the book covered version 2.0 of the .NET Framework and C#, the new book adds coverage of versions 3.0, 3.5 and 4.0.

(注:修改了部分章节的语言描述,叙述地更清楚一些。修改了关于 64位系统的一些错误。用了很多笔墨来介绍他最近5年的学习心得,书中也涵盖了.net 3.0,3.5,4.0的内容。)

Also, I always thought I’d write a Threading Book showing how to properly architect software to build responsive and scalable applications and components in today’s world of multi-core computers. However, I decided to just include this other book’s content in the 3rd Edition of CLR via C# and so Part 5 of the book has five pretty lengthy chapters related to Threading. These chapters (like all chapters in the book) are very prescriptive. That is, I don’t just explain what is in the .NET Framework and how to use it. I explain when to use it and why as well as pitfalls associated with various constructs. I have written a lot of threading material over the past 20+ years and this is all new material presented in an all new way that I think will resonate well with software developers. The 2nd edition of CLR via C# had two chapters related to threading; the five new chapters contain a small part of that material but the new chapters are basically rewritten and add all of the new stuff that is being introduces with .NET 4.0.

(注:此版第五部分中有5个很长的章节讲述线程。作者不仅解释 .NET框架的线程部分和如何使用这个,还讲述了什么时候使用和一些使用中的陷阱。作者在过去20多年中写了很多关于线程的文章,这次他将用这5章的篇幅做一个完整地,全新的阐述。新加的章节基本都是重新写过的,所有新修改的东西也都跟.NET 4.0联系起来了。)

Below is the Table of Contents for CLR via C#, 3rd Edition and a brief description of what has been added to each chapter since the 2nd Edition.

(下面是分章节的简要介绍了,Jeff相当厚道啊。我是很期待第三版。)

Part I – CLR Basics

Chapter 1-The CLR’s Execution Model

Added about discussion about C#’s /optimize and /debug switches and how they relate to each other.

Chapter 2-Building, Packaging, Deploying, and Administering Applications and Types

Improved discussion about Win32 manifest information and version resource information.

Chapter 3-Shared Assemblies and Strongly Named Assemblies

Added discussion of TypeForwardedToAttribute and TypeForwardedFromAttribute.

Part II – Designing Types

Chapter 4-Type Fundamentals

No new topics.

Chapter 5-Primitive, Reference, and Value Types

Enhanced discussion of checked and unchecked code and added discussion of new BigInteger type. Also added discussion of C# 4.0’s dynamic primitive type.

Chapter 6-Type and Member Basics

No new topics.

Chapter 7-Constants and Fields

No new topics.

Chapter 8-Methods

Added discussion of extension methods and partial methods.

Chapter 9-Parameters

Added discussion of optional/named parameters and implicitly-typed local variables.

Chapter 10-Properties

Added discussion of automatically-implemented properties, properties and the Visual Studio debugger, object and collection initializers, anonymous types, the System.Tuple type and the ExpandoObject type.

Chapter 11-Events

Added discussion of events and thread-safety as well as showing a cool extension method to simplify the raising of an event.

Chapter 12-Generics

Added discussion of delegate and interface generic type argument variance.

Chapter 13-Interfaces

No new topics.

Part III – Essential Types

Chapter 14-Chars, Strings, and Working with Text

No new topics.

Chapter 15-Enums

Added coverage of new Enum and Type methods to access enumerated type instances.

Chapter 16-Arrays

Added new section on initializing array elements.

Chapter 17-Delegates

Added discussion of using generic delegates to avoid defining new delegate types. Also added discussion of lambda expressions.

Chapter 18-Attributes

No new topics.

Chapter 19-Nullable Value Types

Added discussion on performance.

Part IV – CLR Facilities

Chapter 20-Exception Handling and State Management

This chapter has been completely rewritten. It is now about exception handling and state management. It includes discussions of code contracts and constrained execution regions (CERs). It also includes a new section on trade-offs between writing productive code and reliable code.

Chapter 21-Automatic Memory Management

Added discussion of C#’s fixed state and how it works to pin objects in the heap. Rewrote the code for weak delegates so you can use them with any class that exposes an event (the class doesn’t have to support weak delegates itself). Added discussion on the new ConditionalWeakTable class, GC Collection modes, Full GC notifications, garbage collection modes and latency modes. I also include a new sample showing how your application can receive notifications whenever Generation 0 or 2 collections occur.

Chapter 22-CLR Hosting and AppDomains

Added discussion of side-by-side support allowing multiple CLRs to be loaded in a single process. Added section on the performance of using MarshalByRefObject-derived types. Substantially rewrote the section on cross-AppDomain communication. Added section on AppDomain Monitoring and first chance exception notifications. Updated the section on the AppDomainManager class.

Chapter 23-Assembly Loading and Reflection

Added section on how to deploy a single file with dependent assemblies embedded inside it. Added section comparing reflection invoke vs bind/invoke vs bind/create delegate/invoke vs C#’s dynamic type.

Chapter 24-Runtime Serialization

This is a whole new chapter that was not in the 2nd Edition.

Part V – Threading

Chapter 25-Threading Basics

Whole new chapter motivating why Windows supports threads, thread overhead, CPU trends, NUMA Architectures, the relationship between CLR threads and Windows threads, the Thread class, reasons to use threads, thread scheduling and priorities, foreground thread vs background threads.

Chapter 26-Performing Compute-Bound Asynchronous Operations

Whole new chapter explaining the CLR’s thread pool. This chapter covers all the new .NET 4.0 constructs including cooperative cancelation, Tasks, the aralle class, parallel language integrated query, timers, how the thread pool manages its threads, cache lines and false sharing.

Chapter 27-Performing I/O-Bound Asynchronous Operations

Whole new chapter explaining how Windows performs synchronous and asynchronous I/O operations. Then, I go into the CLR’s Asynchronous Programming Model, my AsyncEnumerator class, the APM and exceptions, Applications and their threading models, implementing a service asynchronously, the APM and Compute-bound operations, APM considerations, I/O request priorities, converting the APM to a Task, the event-based Asynchronous Pattern, programming model soup.

Chapter 28-Primitive Thread Synchronization Constructs

Whole new chapter discusses class libraries and thread safety, primitive user-mode, kernel-mode constructs, and data alignment.

Chapter 29-Hybrid Thread Synchronization Constructs

Whole new chapter discussion various hybrid constructs such as ManualResetEventSlim, SemaphoreSlim, CountdownEvent, Barrier, ReaderWriterLock(Slim), OneManyResourceLock, Monitor, 3 ways to solve the double-check locking technique, .NET 4.0’s Lazy and LazyInitializer classes, the condition variable pattern, .NET 4.0’s concurrent collection classes, the ReaderWriterGate and SyncGate classes.

转载于:https://www.cnblogs.com/thinkriver/archive/2009/11/04/1596188.html

《CLR via C#》 第三版的主要内容相关推荐

  1. 疯狂Android讲义(第三版)书本内容代码下载

    笔者最近在通过这本书学习Android开发,书本中许多代码内容量比较大,便从书本中赠送的光盘里导出书中的代码,共19章 以压缩包的方式打包给大家 链接:百度网盘 密码:v96e 疯狂Android讲义 ...

  2. java第三阶段源代码_有效Java第三版的源代码已更新为使用较新的功能

    java第三阶段源代码 那些已经阅读了有效Java 第三版的人可能知道与该书相关的源代码可以在GitHub上获得 . jbloch / effective-java-3e-source-code项目拥 ...

  3. 有效期判断功能 java_有效的Java第三版有哪些新功能?

    有效期判断功能 java 自从听说即将出版的有效Java 第三版以来,我一直想知道其中有什么新内容. 我假设将涵盖自Java 6以来引入Java的功能,的确如此. 但是,第三版Java开发人员经典版也 ...

  4. 有效Java第三版的源代码已更新为使用较新的功能

    那些已经阅读了有效Java 第三版的人可能知道与该书相关的源代码可以在GitHub上获得 . jbloch / efficiency-java-3e-source-code项目拥有1700多个星星,截 ...

  5. 有效的Java第三版有哪些新功能?

    自从听说即将出版的有效Java 第三版以来,我一直想知道其中有什么新内容. 我假设将涵盖自Java 6以来引入Java的功能,的确如此. 但是,第三版Java开发人员经典版也有一些其他更改. 在本文中 ...

  6. Effective Java第三版有哪些新功能?

    自从听说即将出版的有效Java 第三版以来,我一直想知道其中有什么新内容. 我假设将涵盖自Java 6以来引入Java的功能,的确如此. 但是,第三版Java开发人员经典版也有一些其他更改. 在本文中 ...

  7. C++程序设计分析 (基于谭书第三版)

    C++程序设计分析 (基于谭书第三版) 因为某些考试中需要,而我也正好学习过其它编程语言,对C++也有些基础,所以往下划出了一些 谭书(第三版)的重点内容,谭书有一些不能过编译的代码和错误也修改了.下 ...

  8. 电子书 鸟哥的Linux私房菜 (基础学习篇 第三版).pdf

    <鸟哥的Linux私房菜 (基础学习篇 第三版)>是颇具知名度的Linux入门书<鸟哥的Linux私房菜:基础学习篇>的全新版,全面而详细地介绍了Linux操作系统. 全书分为 ...

  9. 深入理解C#第三版部分内容

     最近,粗略的读了<深入理解C#(第三版)>这本技术书,书中介绍了C#不同版本之间的不同以及新的功能. 现在将部分摘录的内容贴在下面,以备查阅. C#语言特性: 1.C#2.0 C#2的主 ...

最新文章

  1. oracle实例包括用户进程吗,ORACLE实例和ORACLE数据库详解(三)
  2. 安永创新中心落子北京,聚焦5G技术赋能企业数字化转型
  3. ASP.NET获得客户端浏览器语言设置(Get the Language setting of browser by ASP.NET)
  4. 漫步最优化四十——Powell法(上)
  5. 【BZOJ3191】卡牌游戏,概率DP
  6. 【Elasticsearch】2021 年的顶级 ETL 工具......以及对 ETL 说“不”的理由
  7. SolarWinds 事件新动态:研究员发现新的C2基础设施
  8. 设计模式(1)单例模式(Singleton)
  9. 计算机英语课文朗读,倍速英语点读电脑版
  10. l351墨水灯和缺纸灯闪烁_爱普生l351充墨灯闪烁是怎么回事?
  11. 会议室选多大尺寸的会议平板才合适?
  12. 小龙女,杨过跳崖真相
  13. Java实现标题相似度计算,文本内容相似度匹配,Java通过SimHash计算标题文本内容相似度
  14. 工程伦理第十一讲参考答案
  15. vcruntime140_1.dll无法继续执行代码如何修复?
  16. qpython3下载-QPython3下载
  17. php 简转繁体,PHP将简体汉字转为繁体的方法
  18. JVM中的对象探秘(三)- 对象的实例数据与对齐填充
  19. 几种生态廊道构建概念、方法和工具的本质比较
  20. (0)医院信息化系统术语

热门文章

  1. shiro会话监听_SpringBoot集成Shiro会话管理
  2. Shell 脚本中如何使用make命令
  3. [react] 请说说什么是useEffect?
  4. React开发(204):react代码分割之路由懒加载
  5. 前端学习(3315):UI提取
  6. 前端学习(3206):初始化state
  7. [html] 在网格布局中都有哪些概念呢?比如:网格线
  8. [html] 实现一个页面锁屏的功能
  9. [html] 给“测试投影”几个字添加立体投影的效果
  10. 前端学习(2802):完成资讯页面详情