.NETFramework概述
1.NET Framework是为其运⾏的应⽤程序提供各种服务的托管执⾏环境,它包括两个主要组件:(1).公共语⾔运⾏时 (CLR),(2)..NET Framework 类库;
2.NET Framework的核⼼是CLR;
3.CLR的核⼼CTS,CLS(公共语⾔规范 );
4.CTS是通⽤类型系统(Common Type System);
5.CLS是公共语⾔定义(Common Language Specification);
6.CLR是公共语⾔运⾏时(Common language runtime) ;
7.CLR的执⾏模型: 1、将源代码(vb、cs)编译成托管代码块。托管代码块由中间语⾔和元数据组成。
2、将托管代码合并成程序集,也叫组件(dll)。程序集中包含了⼀张叫做“清单”的模块,记录了构成程序集模块构成的信息包括资源⽂件及需要引⽤⾃⼰的信息。
3、加载公共语⾔运⾏库。
4、执⾏程序集的代码。
5、⽣成本地代码。
8.CLI:公共语⾔基础架构,定义了⼀个语⾔⽆关的跨体系结构的运⾏环境,这使得开发者可以⽤规范内定义的各种⾼级语⾔来开发软件,并且⽆需修正即可将软件运⾏在不同的计算机体系结构上;
9.BCL:基础类库
BCL是⼀个公共编程框架,称为基类库,所有语⾔的开发者都能利⽤它。是CLI(Common Language Infrastructure,公共语⾔基础结构)的规范之⼀,主要包括:执⾏⽹络操作,执⾏I/O操作,安全管理,⽂本操作,数据库操作,XML操作,与事件⽇志交互,跟踪和⼀些诊断操作,使⽤⾮托管代码,创建与调⽤动态代码等,粒度相对较⼩,为所有框架提供基础⽀持。
10:FCL,框架类库(Framework Class Library)
FCL提供了⼤粒度的编程框架,它是针对不同应⽤设计的框架,FCL⼤部分实现都引⽤了BCL,例如我们常说的开发框架:ASP.NET、MVC、WCF和WPF等等,提供了针对不同层⾯的编程框架。
11:托管代码与⾮托管代码的区别:1、托管代码是⼀种中间语⾔,运⾏在CLR上;
spring framework是什么软件 ⾮托管代码被编译为机器码,运⾏在机器上。
2、托管代码独⽴于平台和语⾔,能更好的实现不同语⾔平台之间的兼容;
⾮托管代码依赖于平台和语⾔。
3、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要⾃⼰完成这些操作;
⾮托管代码需要⾃⼰提供安全检测、垃圾回收等操作。
4、.Net有很多⾮托管的资源,⽐如StreamWriter、 Timer、数据库连接。
12:托管代码就是Visual Basic .NET和C#编译器编译出来的代码,托管代码在公共语⾔运⾏库(CLR)中运⾏
13:⾮托管代码是运⾏在公共语⾔运⾏库环境(CLR)的外部,由操作系统直接执⾏的代码。⾮托管代码必须提供⾃⼰的垃圾回收、类型检查、安全⽀持等服务14:元数据:是⼀种⼆进制信息,⽤以对存储在公共语⾔运⾏库可移植可执⾏⽂件 (PE) ⽂件或存储在内存中的程序进⾏描述
15:元数据存储以下信息:(1)程序集的说明,(2)类型的说明,(3)属性
16.NET Framework 框架体系:⾸先编写的C#源⽂件hello.cs通过C#编译器进⾏编译,编译成.NET 的PE⽂件结构,也就是exe⽂件格式,当程序运⾏时,Windows的Loader加载器不会负责该程序的内存分配,线程管理等⼯作,⽽是只负责跳转到CLR的执⾏引擎(EE)中,将控制权交由CLR,由CLR进⾏分配内存,线程管理,异常处理等
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论