1、.NET是什么数据库
有些开发者以为.NET就是一个开发工具,或一个平台、一个软件开发环境。我以为这些认识都不彻底,我的以为,.NET应该是一个概念,是微软的一个战略与梦想。编程
微软对于.NET的定义:Microsoft .NET 是 Microsoft XML Web services 平台,XML Web services 容许应用程序经过 Internet 进行通信及共享数据,无论所采用的是哪一种操做系统、设备或编程语言,Microsoft .NET 平台提供建立XML Web services 并将这些服务集成在一块儿。 网络
通俗理解为:Microsoft .NET是微软以Web services为核心,为信息、人、系统、各类设备提供无缝链接的一组软件产品、技术或服务。咱们通常所说的.NET多指.NET Framework、Visual Studio.NET及开发出的应用程序,如ASP.NET、WinForm等。.NET Framework是一个开发和执行环境,容许不一样的程序设计语言和库无缝结合共同建立基于WINDOWS的应用程序,轻松的建立、管理、部署,并与其它网络系统集成。框架
以下图是.NET Framework的体系结构:编程语言
上图能够了解到.NET开发框架的几个主要组成部分:工具
.NET Framework是一个与硬件无关的程序执行平台,咱们使用的C、C++、Delphi语言开发的程序编译后都是硬件能识别的机器代码,而开发的.NET应用程序编译后不是机器代码,而是.NET Framework识别的中间语言代码MSIL(Microsoft Intermediate Language),这些代码不专用于任何一种操做系统,所以能够跨语言。性能
程序运行时,首先由JIT(Just-In-Time)编译器经过二次编译成专用于当前操做系统和目标机器结构的本机代码,而后经过托管的CLR环境和基类库在计算机中执行,因此咱们开发的 .NET应用程序必需要安装.NET Framework才能运行。开发工具
.NET应用程序运行的通过以下:优化
应用程序—(编译)—>程序集(MSIL)—(JIT编译)—>本机代码操作系统
(1)使用.NET兼容语言(C#)开发应用程序,而后应用程序编译为中间语言(MSIL),存储在程序集中;
(2)在执行代码时,首先必须使用JIT编译器将中间语言编译成本机代码。JIT编译器会确切的知道程序运行在什么类型的处理器上,能够利用该处理器提供的特性或特定的机器指令来优化最后的可执行代码;
(3)在托管的CLR环境下运行本机代码。
使用比喻加深理解:
.NET就像中国移动整个的网络和服务运营平台,.NET Framework则是支持该平台运行的那些基础设施,开发的软件就行运行在这个平台下的各类服务,如语音通话、短信、彩信等。任何服务都须要移动网络的支持,就像咱们开发的软件须要.NET Framework的支持才能运行同样。
2、.NET特性
.NET有以下几大特性:
一、一次编译,处处运行。
开发的应该程序编译后是一种中间代码(MSIL)的程序集,至于如何运行,是交给.NET Framework的JIT编译器来完成中间代码转变成可识别的机器代码。所以,只要.NET Framework支持的地方,应用程序就能够运行。
二、编程语言汇成一家,不分你我。
如今编程语言多种多样,VB、C#、J#、Delphi、JAVA等。.NET Framework中设计了一个通用语言系统CLS(Common Language System),定义了不少标准的数据类型,在编译成中间语言MSIL时,各类高级语言的数据类型都被转换成CLS系统中标准的数据类型。例如,VB.NET中的Integer数据类型被转换成System.int32,C#中的int类型也被转换成System.int32,这样不一样语言就能够经过CLS相互转换,就能相互调用不用语言编写的方法和类库。
三、内存自动管理,安心编程。
CLR最大的影响就是它的内存管理功能,为应用程序提供了高性能的垃圾回收机制GC(Garbage Collector)。GC自动跟中应用程序操做的对象,对内容进行管理。
四、基类库,使开发简单。
类是面向对象设计语言的很是重要一部分,.NET Framework中的类库提供了很是丰富的类,如字符串的处理、数据库的链接、文件访问等类,使开发变得简单。