(1).NET Framework:
.NET 框架。其包含类库和公共语言运行库。类库分为不同的模块,不同的操作系统可以根据自身的特性支持其中或全部的模块。
(2)CTS(Common Type System):
通用类型系统。是一种能够让CLR确定如何定义、使用和管理类型的规范。类型是数据的一种表达方式,通过指定其中最基础的部分,来使得.NET Framework能够在各种语言之间进行交互操作。CTS确保所有托管代码是自我描述的。
(3)CIL(Common Intermediate Language):
通用中间语言。CIL独立于计算机、操作系统和CPU的,是一种属于通用语言架构和.NET Framework的低阶的人类可读的编程语言,这是一组可以有效地转换为本机代码而且独立于CPU地指令。它运行在CLR上,其主要支持地语言有C#、Visual Basic .NET 、C++/CLI以及J#。
(4)JIT编译器(Just-In-Time Compiler):
JIT编译器能够将CIL编译成各种不同地机器代码,以适应对应地系统平台,最终使得程序在目标系统中顺利地运行。
(5)程序集:
在编译应用程序的时候,编译器生成的CIL代码存储在程序集中,程序集包括了可执行的应用程序文件(.exe)和其使用的库(.dll);除此之外程序集还包含了元信息(数据的信息)和可选的资源(CIL使用的其他资源,例如声音文件和图片)。因为程序集是可以自描述的,所以程序集不需要其目标系统的其他信息就可以运行可执行文件(安装了.NET CLR)。
(6)CLR(Common Language Runtime):
公共语言运行库是类似于java虚拟机(JVM)的运行时环境,它负责资源管理,并保证应用和底层操作系统之间必要的分离。CLR的核心功能包括内存管理、程序集加载、安全性、异常处理和线程同步。由CLR监视之下运行的程序属于托管代码,不在CLR监视之下,直接在裸机上运行的应用或组件则属于非托管代码。(C#只能编写运行在CLR的代码)。
(6)垃圾回收(garbage collection):
托管代码能够在CLR下进行垃圾回收,其确保了应用程序不再使用某些内存时,就会完全释放这些内存。垃圾回收机制会定期检查计算机的内存,从中删除不再需要的内容。垃圾回收机制不设置时间帧,不会按照固定时间间隔进行检查。