本文共 723 字,大约阅读时间需要 2 分钟。
Net Framework作为运行在其上的应用程序提供服务的托管执行环境,主要包含CLR(公共语言运行时)和Net Framework类库。CLR是Net Framework的核心,其基础是CTS(通用类型系统)和CLS(公共语言定义)。
CTS是通用类型系统,负责管理程序中所有类型的信息,确保不同语言能够在同一运行时环境中使用相同类型。CLS则是公共语言定义,规定了开发者在编写代码时需要遵循的规则和约束,确保不同语言程序能够相互调用。
CLR是公共语言运行时,它负责管理程序的执行环境,包括类型的加载、垃圾回收、安全性等功能。CLI(公共语言基础架构)是公共语言与运行时的接口定义,负责不同语言与运行时的交互。BCL(基础类库)是一个粒度较小的编程框架,为框架内部提供基础支持,FCL(框架类库)则提供了大粒度的编程框架,适用于不同层面的应用开发。
托管代码运行在CLR中,属于中间语言,依赖CLR提供的服务如垃圾回收、安全监测等。非托管代码则编译为机器码直接运行在硬件上,依赖平台和语言特定环境。托管代码的优势在于跨语言兼容性强,CLR提供的服务丰富;非托管代码依赖于具体平台和语言,实现复杂度更高。
Net Framework中的许多资源如StreamWriter、Timer、数据库连接等,通常为非托管代码提供服务。在运行未签名程序时,需要在项目属性中修改“允许不安全代码块”属性。
垃圾回收机制(GC)负责释放内存资源,但并非实时性执行,可能导致系统瓶颈或不稳定性。GC.Collect方法可以强制进行垃圾回收,但它不能释放非托管资源。
元数据是一种二进制数据,用于存储程序集、类型和属性的信息,帮助开发者更好地理解和管理代码结构。
转载地址:http://bbcfk.baihongyu.com/