Understanding .NET 读书笔记(1)__ CTS (转藏)

来源:互联网 发布:淘宝上ins是什么意思 编辑:程序博客网 时间:2024/05/17 05:19

最近在零零碎碎的读侯捷、荣耀翻译David Chappell的《Understanding .NET》(中文《.net 大局观》)。我把其中一些重要的内容,以前自己很模糊的部分摘要下来,作为本书的读书笔记和自己的分类总结。

今天反复看了CTS 部分(通用型别系统)(通用型别系统是侯捷的翻译,有些台湾的习惯。我个人更喜欢翻译成通用类型系统)

1、reference type 直接继承自 object;所有 value type 则直接继承自 valueType,后者又继承自 object。

2、在 managed code 中有三种内存分配方式:

      2.1  分配于 CLR  所管理的stack上(value type):它通常是在“某个method被调用”或“某运行中的method进行创建时”被创建出来。不论哪种情况,stack 变量所使用的内存会在其创建者(某个method)返回时被自动释放。

      2.2  分配于 CLR  所管理的heap上(reference type): 分配于heap中的变量,并不会在其创建者(某个method)结束时候自动释放内存。它们的内存将通过一个垃圾回收机制(garbage collection)的处理过程而被释放。

      2.3  分配于各自独立的区域(全局变量和静态变量用)

      说明:以上内存分配指type 的实体所在位置,象reference type 它的实体内容(实值)被存在heap中,但是在stack上也有一个入口,作为对heap内存的一份引用。

3、以下是几个重要的 value tyoe:
      Byte、Char、Int16、Int32、Int64、UInt16、UInt32、UInt64、Single、Double、Decimal、Enum(枚举)、Boolean、Structure(结构)

4、 structure (结构)属于 value type 。 structures 跟 classes 的之间最大的不同在于,前者是value type,后者是 reference type 。我们不可以从 value type 继承任何东西,但可以从class 中继承。

5、以下是几个重要的 reference type:
      class(类)、Interface(接口)、Array(数组)、String (字符串)、Delegate(委托)

原创粉丝点击