.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 1647 (递推) Computer Transformation

    题意: 有一个01串,每一步都会将所有的0变为10,将所有的1变为01,串最开始为1. 求第n步之后,00的个数 分析: 刚开始想的时候还是比较乱的,我还纠结了一下000中算是有1个00还是2个00 ...

  2. vssettings 的备份和导入

    vssettings 的作用:   vssettings的导出(也就是相当于是保存):   现在我们试试导入:找一个别人导出的包,我们导入试试.

  3. Tomcat 映射虚拟目录

    设置虚拟目录映射一般有两种用途: (1)把整个web应用映射到tomcat中: 如一个testapp的web应用的路径是/opt/testapp,则通过虚拟目录映射可以将其映射到tomcat(weba ...

  4. c& c++ enum

    1.为什么要用enum       写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等.   ...

  5. Oracle 跟踪事件 set event

    一.Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动.关闭和运行期间后台进程的活动情况,如表空间创建.回滚段创建.某些alter命令.日志切换.错误消息 ...

  6. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  7. ubuntu-12.04.1-desktop-x64下JDK环境的安装与配置

    1.上oracle官网下载最新的JDK.在这里,我的系统是ubuntu-12.04.1-desktop-amd64,目前位置JDK的最新版本位7u9.jdk-for-linux有两种安装包,一种是rp ...

  8. hdu 1506(dp求最大子矩阵)

    题意:容易理解... 分析:对于每个单位矩阵,我们先求出连续比它高的最左边的下标假设为l,然后求出比它高的最右边的下标假设为r,然后矩阵的面积就是(r-l+1)*1:我们从左到 右扫一遍,求出每个点的 ...

  9. Oracle 存储过程动态建表

    动态sql,顾名思义就是动态执行的sql,也就是说在没执行之前是动态的拼接的. 任务 传入参数:新建的表名hd+当前的年和月,例如hd_201105表结构是:字段1:id ,类型是number,可以自 ...

  10. [Everyday Mathematics]20150209

    设 $f$ 在区间 $I$ 上三阶可导, $f'\neq 0$, 则可定义 $f$ 的 Schwarz 导数: $$\bex S(f,x)=\frac{f'''(x)}{f'(x)}-\frac{3} ...