NET体系结构.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NET体系结构

.NET体系结构 ?????????????????????????????????????? ?????????????????????????????????????? .NET体系由公共语言运行库(CLR)(Common Language Runtime)和.NET Framework类库所构成。CLR是.NET Framework 的核心执行环境,也称为.NET运行库。.NET Framework类库是一个内容丰富的类集合,它可以完成以前要通过Windows API来完成的绝大多数任务。 ?????????????????????????????????????? ?????????????????????????????????????? 一、CLR概述 ?????????????????????????????????????? ?????????????????????????????????????? CLR主要负责托管代码的编译和运行。在.NET中代码的编译分为两个阶段: 1. 把源代码编译为Microsoft中间语言(IL)。2. CLR把IL编译为平台专用的代码。 ?????????????????????????????????????? 在CLR的控制下运行的代码常常称为托管代码(managed code)。托管代码的优点: ?????????????????????????????????????? 1. 平台无关性。源代码先编译成中间语言,运行时由CLR将中间语言编译成平台专用的代码,跟Java的字节代码一样,这样即可实现平台无关性。 ?????????????????????????????????????? 2. 提高性能。首先,IL比Java的字节码作用还要大,因为IL是即时编译的,而Java的字节码常常是解释性的,在转换为平台可执行代码的时候可能会导致性能损失。其次,.NET的即时编译器(JIT)(Just In Time)并非一次把全部代码编译完才执行,而是只编译调用的那部分代码,并把得到的这部分内部可执行代码保存起来,下次需要调用的时候无须重新编译。Microsoft认为这个过程要比一开始编译整个应用程序代码的效率高得多,因为任何程序的大部分代码实际上并不是在每次运行过程中都执行。最后,传统的编译器会优化代码,但它们的优化过程是独立于代码所运行的特定处理器的。例如Visual Studio 6优化了一台一般的Pentium机器,它所生成的代码就不能利用Pentium Ш处理器的硬件特性。而JIT与平台无关,所以它可以针对不同的机器完成不同的优化。 ?????????????????????????????????????? 3. 语言的互操作性。互操作性即能将任何一种语言编译为中间代码,编译好的代码可以与从其它语言编译过来的代码进行交互操作。在.NET中可以交互操作的语言有C#、VB.NET、Visual C++.NET、Visual J#、脚本语言、COM和COM+。 ?????????????????????????????????????? ?????????????????????????????????????? 二、中间语言 ?????????????????????????????????????? ?????????????????????????????????????? 中间语言(IL)在.NET Framework中有非常重要的作用,所有面向.NET的语言都要先编译成IL,那么它们在逻辑上都需要支持IL的主要特征。IL的主要特征: ?????????????????????????????????????? 1. 面向对象和使用接口 2. 值类型和引用类型之间的巨大差别 3. 强数据类型 4. 使用异常来处理错误 5. 使用特性(attribute) ?????????????????????????????????????? 下面详细讨论一下这些特性。 ?????????????????????????????????????? 1. 面向对象和接口的支持 ?????????????????????????????????????? Microsoft为IL选择的特定道路是传统的面向对象的编程,带有类的单一继承性。此外IL还引进了接口的概念。.NET接口与COM接口不同,它们不需要支持任何COM基础结构,例如,它们不是派生自IUnknown,也没有GUID。但是它们与COM接口共享下述理念:提供一个契约,实现给定接口的类必须提供该接口指定的方法和属性的实现方式。 ????????????????????????????????

文档评论(0)

tianma2015 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档