关于.net框架

Net框架的组成分为两部分:

1.CLR:公共语言运行时(Common Language Runtime):

是一个运行时环境负责代码安全验证、代码执行、资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。

2.FCL:.NET框架类库(.NET Framework Class Library):

提供大量应用类库,类库中提供很多资源可使用(比如:类,方法,属性),提高开发效率。


CLR的结构:

CLS:公共语言规范,获取各种语言转换成统一的语法规范,是.Net跨语言开发的基础。
CTS:通用类型系统,将各种语言中的数据类型转换成统一的类型。
JIT:实时编译器(即时编译器)用于将转换之后的语言编译为二进制语言,交给CPU执行。


.Net运行的机制流程:

各种语言(c#,F#,j#等对应的源程序)-> 经过CLS,CTS第一次编译 -> 统一规范语言(中间语言)MSIL(.EXE,.DLL) -> JIT第二次编译 -> 二进制语言 -> 运行在CPU中


IL(interpretative language 解释语言):

IL是中间层语言,上层代码编译完成后都要转换为中间语言供CLR使用, IL为Intermediate Language也叫Microsoft Intermediate Language
中间语言使得在.Net中各种语言的方便交互成为了可能。


C#是什么:

C# 是微软 2000 年推出的一种基于 .NET 框架的、面向对象的高级编程语言。
C# 和 Java 类似,C# 会编译成一个中间语言(CIL,Common Intermediate Language,也叫 MSIL), CIL 也是一个中间语言,而运行 CIL 的虚拟机叫 CLR(Common Language Runtime)。
通常把 C#、CIL、CLR,再加上微软提供的一套基础类库FCL称为 .Net Framework。


托管资源和非托管资源:

c#中的每一个类型都代表一种资源。
托管资源:由CLR管理分配和释放的资源,即从CLR里new出来的对象。
非托管资源:不受CLR管理的对象,如windows内核对象,或者文件、网络连接、数据库连接、套接字、COM对象等。


关于.net框架

上一篇:安全理论03 HTML5 安全


下一篇:Json的数据定义