.NET其实就是一个软件平台,这个平台和Java平台有许多的相似之处,主要表现在

1、二者编写的程序都是可以跨平台执行的
 
2、二者编写的程序编译后生成的都是一种中间码(IL),需要经过第二次编译才能转换成本地所能执行的代码(Native Code)。这一特征正是.NET和Java的程序可以跨平台执行的根本原因
 
IL如下图所示
 
3、二者在B/S(Broser/Server)开发方面都很强大。
 
 
 
下面具体介绍这些特征
 
 

跨平台执行

无论是哪种操作系统,只要那个操作系统上装有对应的.NET FrameWork,那么只要是用.NET编写和编译的程序都可以在该平台上执行。因为软件被编译成为IL的组件(.EXE或.DLL)这些组件与具体的.NET语言和操作系统无关,IL的语法大体上都是一样的。
 
 

编译生成中间码,需要相应的.NET Framework中的即时编译器进行第二次编译生成原生码(Native Code)后才能被CPU执行,就像Java程序需要Java虚拟机(JVM)进行第二次编译才能执行一样。下面是.NET程序和JAVA程序的执行原理

 
.NET的执行原理
 
 
.JAVA的执行原理
 

在B/S开发方面功能强大

.NET的BCL(基底类别库)中提供的ASP.NET的类对B/S的开发很是便利。
 
 

.NET FrameWork主要有两部分构成:CLR(公共语言运行时)和BCL(基底类别库)。其实CLR和BCL也都是由组件构成的。

 

CLR的构成

 
 
 
 
BCL的构成
 
BCL的组件都是存在于系统文件夹GAC(Global Assembly Cache)中的,一些有数位签章的类也注册在这个文件夹里,在这个文件夹中的组件是可以被所有软件所共用的

随机推荐

  1. UVa 1635 (唯一分解定理) Irrelevant Elements

    经过紫书的分析,已经将问题转化为求组合数C(n-1, 0)~C(n-1, n-1)中能够被m整除的个数,并输出编号(这n个数的编号从1开始) 首先将m分解质因数,然后记录下每个质因子对应的指数. 由组 ...

  2. CodeForces Round #280 (Div.2)

    A. Vanya and Cubes 题意: 给你n个小方块,现在要搭一个金字塔,金字塔的第i层需要 个小方块,问这n个方块最多搭几层金字塔. 分析: 根据求和公式,有,按照规律直接加就行,直到超过n ...

  3. UVa 10652 (简单凸包) Board Wrapping

    题意: 有n块互不重叠的矩形木板,用尽量小的凸多边形将它们包起来,并输出并输出木板总面积占凸多边形面积的百分比. 分析: 几乎是凸包和多边形面积的裸题. 注意:最后输出的百分号前面有个空格,第一次交P ...

  4. ASP.NET MVC从客户端中检测到有潜在危险的 Request.Form 值

    ASP.NET MVC4(Razor)从客户端中检测到有潜在危险的 Request.Form 值 “/”应用程序中的服务器错误. 从客户端(Content=" sdfdddd ...&quo ...

  5. redhat--nagios插件--check_traffic.sh

    ****在被监控主机安装nrpe**** (1)在被监控主机上,增加用户和密码 useradd nagios passwd nagios (2)安装nagios插件 tar zxf nagios-pl ...

  6. 【转】让apache支持中文路径或者中文文件

    本帖最后由 狂人阿川 于 2013-4-12 19:13 编辑 今天在给一美国VPS客户调试他的程序的时候.发现他的网站有中文名称.貌似apache无法认识中文路径,火狐下面能下载他的文件,IE下面不 ...

  7. HDU 4267 A Simple Problem with Integers

    A Simple Problem with Integers Time Limit: 5000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  8. POJ 1068 Parencodings

    Parencodings Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24932   Accepted: 14695 De ...

  9. [Everyday Mathematics]20150206

    $$\bex \sen{fg}_{L^1}\leq C\sen{f}_{L^{r,\al}}\sen{g}_{L^{r',\al'}}, \eex$$ 其中 $$\bex f\in L^{r,\al} ...

  10. Java进程占用CPU资源过多分析

    问题描述: 生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析: 1,程序属于CPU密集型,和开发沟通 ...