CLR:公共语言运行库(Common Language Runtime),提供了所有类型的应用程序都要使用的编程模型。CLR包括它自己的文件加载器、内存管理器(垃圾收集器)、安全系统(代码访问安全性)、线程池等,还提供了一个面向对象的编程模型,它定义了类型和对象是什么,以及它们的行为方式。
FCL:Framework类库(Framework Class Library),提供了所有应用程序模型都要使用的一个面向对象的API集合。利用其中包含的类型定义,开发人员可以执行文件和网络I/O、调度其他线程上的任务、画图、比较字符串等。
CIL:通用中间语言(Common Intermediate Language),为.Net Framework编译源代码时,编译器生成的代码,而不是传统的CPU指令。在运行时,CLR会将CIL转换成本地的CPU指令。
IL:中间语言(Intermediate Language)。
CTS:通用类型系统(Common Type System),描述了类型的定义及其行为方式,以提供不同语言的相互集成,令它们可以自由使用其他语言的类型。
CLS:公共语言规范(Common Language Specification),描述了编译器必须实现什么特性,才能使其对应的语言与其他语言良好的集成。
Managed Module:托管模块,是一个标准的32位Microsoft Windows可移植执行体(PE32)文件,或者是一个标准的64位Windows可移植执行体(PE32+)文件,它们需要CLR才能执行。
IDL:接口定义语言(Interface Definition Language)。
COFF:公共对象文件格式(Common Object File Format)。
JIT Compiler:即时编译器(Just In Time Compiler)。
Assembly:程序集,是一个或多个模块/资源文件的逻辑性分组,是最小的重用、安全性以及版本控制单元。在CLR的世界中,我们将程序集称为“组件(Component)”。
堆(托管堆):存放引用类型的内存块。引用类型--任何称为“类”的类型都是引用类型,需要垃圾收集器回收内存。
堆栈(线程堆栈):存放值类型的内存块。值类型--所有结构或者枚举,不需要垃圾回收器干涉,一旦定义该类型的实例的方法不再处于活动状态,为它们分配的存储就会被释放。按照定义,所有值类型都必须从System.ValueType派生。所有枚举都从System.Enum抽象类型派生,后者又是从System.ValueType派生的。