一..NET Framework
.NET含义
.NET是一种面向网络、支持各种用户终端的开发平台环境。主要包含一个非常大的代码库,可以在客户语言(如c#)中通过面向对象编程技术(OOP)来使用这些代码。
除了提供这个库以外,.NET Framework 还包含.NET公共语言运行库(Common Language Runtime,CLR),它负责管理用.NET库开发的所有应用程序的执行。
CIL和JIT
在编译使用.NET Framework库的代码是,不是立即创建用于操作系统的本机代码,而是把代码编译为通用中间语言(Common Intermediate Language,CIL)代码,这些代码并非专门用于任何一种操作系统,也非专用于C#。
Just_In_Time(JIT)编译器:把CIL编译为专用OS和目标机器结构的本机代码。
程序集
在编译应用程序时,所创建的CIL代码存储在一个程序集中。程序集包括可执行的应用程序文件和其他应用程序使用的库,除了包含CIL,程序集还包含元信息(即程序集中包含的数据的信息,也称为元数据)和可选的资源。
托管代码
在将代码编译为CIL,再用JIT编译器将它编译为本机代码后,CLR的任务还没有全部完成,还需要管理正在执行的用.NET Framework编写的代码。即CLR管理这应用程序,其方式是管理内存、处理安全性以及允许进行跨语言调试等。
垃圾回收
托管代码最重要的一个功能是垃圾回收(garbage collection)。这种.NET方法可确保应用程序不再使用某些内存时,就会完全释放这些内存。
.NET垃圾回收会定期检查计算机内存,从中删除不再需要的内容。它不设置时间帧,但一定会进行检查。因为在不可预知的时间执行这项工作,所以在设计应用程序时,必须留意这一点。
创建.NET应用程序所经历的步骤:
1.使用某种.NET兼容语言(如C#)编写应用程序代码
2.把代码编译为CIL,存储在程序集中
3.在执行代码时,首先必须使用JIT编译器将代码编译为本机代码
4.在托管的CLR环境下运行本机代码,以及其他应用程序或进程