zoukankan      html  css  js  c++  java
  • 高级语言虚拟机的一点理解,对比.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平台的比较:(图片来源

  • 相关阅读:
    三、k8s 核心功能
    【RobotFramework】显式等待、隐式等待、强制等待
    如何快速发现缺陷
    冒烟测试知多少
    【Robot Framework】发送GET与POST请求
    Fastdfs.jar手动安装到本地仓库配置
    Lua架构
    SPU与SKU
    docker环境删除与安装配置
    idea-maven导入出现omitted for duplicate且下标标红
  • 原文地址:https://www.cnblogs.com/tsiangleo/p/5021589.html
Copyright © 2011-2022 走看看