.Net 基本概念

任何基于 .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应用程序在运行过程中,有自己专属的资源区域,彼此之间不受影响。同时一旦发生错误也不会导致其他运行中的应用程序的崩溃。
垃圾回收机制可以在应用程序运行完毕后,自动释放和回收系统资源。取代了以往通过手工跟踪的过程,提高系统的整体效能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值