.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. Java知识点:Object类

    toString()方法 原始实现: public String toString() { return getClass().getName() + "@" + Integer. ...

  2. ionic cordova plugin for ios

    源代码结构目录: payplugin: |_src |_android |_PayPlugin.java |_ios |_CDVPayPlugin.h |_CDVPayPlugin.m |_www | ...

  3. wav文件格式分析详解

    wav文件格式分析详解 文章转载自:http://blog.csdn.net/BlueSoal/article/details/932395 一.综述    WAVE文件作为多媒体中使用的声波文件格式 ...

  4. JavaScript的事件代理(转)

    如果你想给网页添加点JavaScript的交互性,也许你已经听过JavaScript的事件代理(event delegation),并且觉得这是那些发烧友级别的JavaScript程序员才会关心的什么 ...

  5. poj 1026(置换群)

    题意:给你一个变换规则,和一个字符串,问经过k次变换后得到的字符串. 思路:开始的时候试图去找它的整个周期,谁知道周期太大了,各种RE,后来在得知此题需要用置换群来优化,第一次接触置换群学习了下! 代 ...

  6. [转] c#中 多线程访问winform控件

    原文 c#中多线程访问winform控件的若干问题小结 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的 ...

  7. Hilbert先生旅馆的故事

    以前上实变函数的时候稍微讲了下这个故事呢. 来自Hansschwarzkopf 很久很久以前,在欧洲某国的一个小镇上,Hilbert先生开了一家拥有无数个房间的旅馆.一天,旅馆生意红火得一塌糊涂,不到 ...

  8. 翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(6)

    创建一个新文档(Creating a new document) 现在我们将尝试索引一些文档.对于我们的示例,让我们想象我们正在为我们的博客建立某种CMS.实体之一是博客的文章.使用JSON记法,在以 ...

  9. POJ2987 Firing 最大权闭合图

    详情请参考http://www.cnblogs.com/kane0526/archive/2013/04/05/3001557.html 值得注意的地方,割边会把图分成两部分,一部分和起点相连,另一部 ...

  10. springmvc基础知识

    springmvc框架,类似于struts,主要用于MVC的控制层 spring的简单配置(非注解):  spring-mvc.xml文件(springMVC框架的基本文件) web.xml文件 ja ...