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

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

一、CLI

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

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

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

 

二、对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项目也是一个开源并且自由的实现。

 

三、CLR

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

四、.NET Framework vs. CLI vs. CLR

CLI是标准。

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

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

 

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

转载于:https://www.cnblogs.com/tsiangleo/p/5021589.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值