高级语言虚拟机的一点理解,对比.NET和Java平台

最近学习了一些高级语言虚拟机的知识,在此对.NET平台和java平台作一个简单的比较。对java平台已经很熟了,因此此处只介绍.NET平台下的一些概念。html

1、CLIjava

通用语言基础架构(Common Language Infrastructure,简称CLI)是一个开放的技术规范。架构

通用语言基础架构定义了构成.NET Framework基础结构的可执行码以及代码的运行时环境的规范,它定义了一个语言无关的跨体系结构的运行环境,这使得开发者能够用规范内定义的各类高级语言来开发软件,而且无需修正便可将软件运行在不一样的计算机体系结构上。jvm

通用语言运行库(CLR)则是微软对此标准(CLI)的实现。工具

 

2、对CLI的实现学习

Microsoft .NET Framework - 微软提供的面向Windows系统的实现,提供了各类各样的程序库,工具等。
Microsoft Silverlight - 微软提供的一个跨平台实现,能同时在Windows和Macintosh操做系统上运行。
.NET Compact Framework - 微软提供的面向便携式系统的商用实现。
Microsoft XNA - 微软提供给游戏开发人员使用的一个CLI,面向的是XBOX和Windows Vista。
Rotor - Microsoft Shared Source CLI(Rotor)微软开发出来的一个在Window,Mac OS X和FreeBSD上运行的一个CLI实现,但微软并无受权用Rotor开发商业程序,只是一个学习工具。
Mono - 由Novell赞助开发的开源实现,它可以应用于Linux,Mac OS等多种操做系统。
dotGNU - dotGNU项目也是一个开源而且自由的实现。操作系统

 

3、CLR3d

通用语言运行平台(Common Language Runtime,简称CLR)是微软为他们的.NET的虚拟机所选用的名称。它是微软对通用语言架构(CLI)的实现版本,它定义了一个代码运行的环境。CLR运行一种称为通用中间语言的字节码,这个是微软的通用中间语言实现版本。code

4、.NET Framework vs. CLI vs. CLRhtm

CLI是标准。

.NET Framework是对CLI标准的实现。

CLR只是.NET Framework里面的虚拟机的名字。相似jvm。

 

附上.NET平台与JAVA平台的比较:(图片来源

相关文章
相关标签/搜索