公共语言基础结构的个人总结

公共语言基础结构的个人总结

CLI:Common Intermediate Language 公共语言基础结构,主要理解C#程序的执行环境以及C#如何与其他程序和库进行无缝交互的一个重要规范。CLI标准主要包含以下更详细的规范:

  • 虚拟执行系统(CLR 即运行时)
  • 公共中间语言(CIL)
  • 公共类型系统(CTS)
  • 公共语言规范(CLS)
  • 元数据
  • 框架

CIL:Common Intermediate Language 公共中间语言,在C#程序执行过程中,首先是通过C#编译器将C#代码编译成CIL代码。这是C#程序的第一个编译步骤
CLR:Common Language RunTime 虚拟执行系统即运行时,管理CIL代码的执行,通过内部的即时编译器(just in time JIT)将CIL代码编译成机器码,这是C#程序的第二个编译步骤,这一步主要是在程序运行的过程中进行。
CTS:Common Type System 公共类型系统,定义了类型的结构及其在内存中的布局,还规定了与类型有关的概念和行为。类型分为Value(值)和Object(对象)。由CLR在运行中强制执行CTS中定义的类型规范。
CLS:Common Language Specification 公共语言规范,主要提供一些库的创建标准。
BCL:Base Class Library 基类库,提供基础类型和API,包含对集合,简单文件访问,安全性,基础数据类型和流的支持。
FCL:Framework Class Library 框架类库,包含对客户端UI和Web UI,数据库访问,分布式通信等的支持。
GC:垃圾回收,使用一个mark-and-sweep算法(标记和扫描算法),在每次执行垃圾回收期间,将标记出将要清理的对象,并将剩余对象压缩在一起,确保他们之间的存储地址是连续的。mark-and-sweep算法,我们在创建对象时,会将对象的标记位设置为0,在GC的mark阶段,通过图遍历,将每一个对象都视为一个节点,然后访问该节点所有可以达到的节点,一直持续到所有可以访问的节点,将这些可以访问的节点标记为1。在扫描阶段,会将所有标记为0的对象从堆内存中清楚,并将所有标记为1的对象标记为0。

你可能感兴趣的:(ASP.Net)