.Net 基本概念

来源:互联网 发布:fm2017经典球员数据库 编辑:程序博客网 时间:2024/05/16 11:12

任何基于 .NET 框架编写的应用程序,.NET 框架将负责对其进行编译。.NET 框架对应用程序源代码的编译过程分为二个阶段。而普通应用程序的编译一般来说只有一步。
在第一步的编译过程中,源代码编译会产生托管模块。托管模块包含在一个物理文件中。这个物理文件被称作可移植可执行 (PE,Portable Executable) 文件。此文件主要包含了“中间语言 (MSIL)”、“元数据类型”和一些资源文件。编译过程的第二步就是JIT 编译。公共语言运行时环境(CLR) 具有一个称为 JIT 编译的功能。当应用程序需要在某个系统上运行时,此功能可以将应用程序的 MSIL 代码翻译为该系统的机器语言。这样一来,假设在两个不同类型客户端上都有相同的 .NET应用程序。当它们运行的时候,.NET应用程序将会以各自客户端系统上的机器语言来运行。
元数据类型描述了托管模块内“中间语言 (MSIL)”的类型、成员以及其他引用,公共语言运行库在运行时将用到此信息。所以元数据和MSIL代码在托管模块内是紧密结合在一起的,要将两者分离是不可能的。
Microsoft 中间语言 (MSIL)包含许多通用操作的指令,包括创建和初始化对象、调用对象方法的指令。另外,它还包含用于算术和逻辑运算、流控制、直接内存访问和异常处理等指令。MSIL是一种比大部分的CPU机器语言更高级的语言。
MSIL语言是编译过程的第一步,无论是VB .NET代码还是C# .NET代码,在这里都是编译成为MSIL。所以,MSIL也是运行时环境(CLR)中所使用的通用语言。
编译过程中产生的“中间语言 (MSIL)”和“元数据类型”。在.NET 框架对应用程序进行编译的过程中,可以将许多的“中间语言 (MSIL)”和“元数据类型”合并到一个程序集中。
每个程序集合并了许多的“中间语言 (MSIL)”和“元数据类型”,达到统一管理和整合的目的。
同时程序集包含了称为清单的数据块。清单是一个表,表中的每一项是程序集组成部分的文件的名称。
公共语言运行库提供了两个测试和调试MSIL代码的工具:MSIL汇编程序(Ilasm.exe)和MSIL反汇编程序(Ildasm.exe)。测试和调试完MSIL代码之后,就可以通过(JIT)实时编译器编译成可直接执行的机器码。
.NET Framework应用程序在运行过程中,在对自身资源的创建、管理和回收这些方面都有其特点。本小节将为大家介绍应用程序域和垃圾回收的相关概念。
应用程序域机制可以让许多.NET Framework应用程序在运行过程中,有自己专属的资源区域,彼此之间不受影响。同时一旦发生错误也不会导致其他运行中的应用程序的崩溃。
垃圾回收机制可以在应用程序运行完毕后,自动释放和回收系统资源。取代了以往通过手工跟踪的过程,提高系统的整体效能。

原创粉丝点击