图1 .net架构
一、.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。
1、公共语言运行库是 .NET Framework 的基础。
您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
2、Framework 的另一个主要组件是类库。
它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。
.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
二、CLR的主要功能
CLR,Common Language Runtime公共语言运行时,和Java虚拟机一样也是一个运行时环境。它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。
它的主要功能有:
1、基类库支持 Base class libray support.
2、存储器管理 Memory management.
3、线程管理 Thread Management.
4、存储器自动回收 Gardbage Collection.
5、安全性 Security.
6、类型检查 Type checker.
7、例外管理 Exception Manager.
8、除错管理 Debug engine.
9、中间码MSIL到机器码Native的编译.
10、类型装载 Class loader.
图2、.NET架构