您的位置:首页 > 其它

NET Framework简介

2013-02-28 22:54 211 查看
.NET Framework是微软为开发应用程序而创建的一个平台,利用它,你可以开发Windows桌面应用程序,Web应用程序,Web服务以及其它类型的应用程序。.NET Framework的设计方式确保它可以用于各种语言,包括C#,C++,Visual Basic, JScript等。为此,还推出了这些语言的.NET版本,所有的这些语言都可以访问.NET Framework,它们彼此之间还可以通信。C#开发人员可以使用Visual Basic程序员写的代码,反之亦然。

    .NET Framework主要包含一个非常大的代码库,可以再客户语言(如C#)中通过面向对象编程技术来使用这些代码。这个库分为不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分。使用.NET Framework编写应用程序,就是使用.NET代码库来编写代码(使用支持Framework的任何一种语言)。

    为了能够执行C#代码,必须将它们转换为目标操作系统能够理解的语言,即本机代码。这种转换称之为编译代码,由编译器执行。但是,在.NET Framework下,该过程包含两个阶段:CIL和JIT;在编译使用.NET Framework库的代码时,不是立即创建用于操作系统的本机代码,而是把代码编译为通用中间语言(Common Intermediate Language, CIL)代码,这些代码并非专门用于任何一种操作系统,也并非专门用于C#。其他的.NET语言,例如VB.NET也可以在第一阶段编译为这种语言,开发C#应用程序时,这个编译步骤由Visual Studio来完成。显然,要执行应用程序,必须要完成更多的工作,这就是Just In Time(JIT)编译器的任务,它把CIL编译为专用于OS和目标机器结构的本机代码。这样OS才能执行应用程序。这里编译器的名称Just In Time反映了CIL代码仅在需要时才编译的事实。C#只是用于.NET开发的一种语言,但它是最好的语言之一。它的优点是:它是唯一彻头彻尾为.NET Framework设计的语言,是在一直到其它操作系统上的.NET版本中使用的主要语言。

    .NET Framework可以用来创建windows应用程序,web应用程序,web服务和其它各种类型的应用程序。另外注意,对于web应用程序,按照定义,它们是多平台的应用程序,因为任何带web浏览器的系统都可以访问它们。最近新增了silverlight,这种类别还包含运行在客户浏览器内部的应用程序,以及仅为HTML格式显示web内容的应用程序。

.NET Framework主要包含一个非常大的代码库,可以再客户语言(如c#)中通过面向对象编程技术来使用这些代码。这些库分为多个不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分。除了提供这些库之外,.NET Framework还包含.NET 公共语言运行库(Common Language Runtime, CLR),它负责管理用.NET库开发的所有应用程序的执行。

将代码编译为CIL,再用JIT编译器将它编译为本机代码之后,CLR的任务并没有全部完成,还需要管理正在执行的用.NET Framework编写的代码(这个执行代码的阶段通常称为运行时runtime)。即CLR管理着应用程序,其方式是管理内存、处理安全性以及允许进行跨语言调试等。相反,不受CLR控制运行的应用程序属于非托管类型,某些语言如C++可以编写这种类型的程序,例如,访问操作系统的低级功能,但是在c#,只能编写在托管环境下运行的代码。我们将使用CLR的托管功能,让.NET自己与操作系统进行交互。

托管代码最重要的一个功能是垃圾回收(garbage collection),这种.NET 方法确保应用程序不再使用某些内存时,就会完全释放这些内存。在.NET推出之前,这项工作注意由程序员负责,代码中的几个简单错误会把大块内存分配到错误的地方,使这些内存神秘失踪。这通常意味着计算机的速度逐渐减慢,最终导致系统崩溃。.NET垃圾回收会定期检查计算机内存,从中删除不再需要的内容。它不设置时间帧,可以一秒钟进行上千次的检查,也可能几秒钟才检查一次,或者随时进行检查。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: