Java虚拟机家族

1. 商用高性能虚拟机

  1. Sun HotSpot

    应用最为广泛的Java虚拟机,我们就是以这个虚拟机为平台进行讲解的。它最初由一家名为“Longview Technologies”的小公司开发,因为HotSpot的优异表现,这家公司在 1997年被Sun公司收购了。HotSpot虚拟机发布时是作为Sun JDK 1.2的附加程序提供的,后来它成为了Sun JDK 1.3 及之后所有版本的Sun JDK的默认虚拟机。

  2. BEA JRockitJRockit

    虚拟机是BEA公司于 2002年从 Appeal Virtual Machines收购获得的虚拟机。它是一款面向服务器硬件和服务端使用场景高度优化过的虚拟机,曾经号称是“世界上速度最快的虚拟机”。由于专注于服务端应用,它的内部不包含解析器的实现,全部代码都靠即时编译器编译后执行。

  3. IBM J9

    J9虚拟机是IBM公司单独开发的高性能虚拟机,它并不独立出售,而是作为IBM公司各种产品的执行平台,IBM把它定义为一个可以适应从嵌人式设备到大型企业级应用的、高可移植性的Java运行平台。

2. 其他影响较大的虚拟机

  1. Sun Classic虚拟机

    以现在的眼光来看,这个虚拟机很原始,几乎是实验室研究的作品。但它意义重大,是在JDK 1.0时代使用的Java虚拟机,是各种虚拟机的始祖。它的内部不存在即时编译器,只能使用纯解释的方式运行,如果要使用JIT,必须通过外挂的方式插人额外的即时编译器(如Symantec JIT编译器),但插人后解释器就不再工作了。

  2. Sun Exact虚拟机

    这是 Sun公司在 HotSpot之外的另一个Java虚拟机,在JDK 1.2时代曾短暂地投人过商用,它与 HotSpot 在同时期开发,但最终被HotSpot 所取代。在它身上已经可以看见日后Sun虚拟机的模糊轮廓,如两级即时编译器、编译器与解释器混合工作模式、多层编译等。

  3. Apache Harmony虚拟机

    Harmony是Apache 软件基金会主导的、开源的、独立的、实际兼容于JDK 1.5和JDK 1.6的虚拟机实现,它虽然不像前面两款虚拟机那样是Java混沌初生时开疆拓土的功臣,但论影响力一点也不逊色:它间接催生了 Google Android 平台的Dalvik虚拟机,Android的影响力日益庞大,目前已是最成功的数码设备通用平台;由于它的 TCK授权问题,直接导致Apache与Oracle的决裂,从而退出了JCP组织,这是近代Java阵营遇到的最严重的分裂危机。

3. 嵌入式虚拟机

  1. Dalvik 虚拟机

    Dalvik虚拟机是Google等厂商合作开发的 Android 移动设备平台的核心组成部分之一,它的名字来源于冰岛一个名为Dalvik的小渔村。Dalvik并不是一个 Java虚拟机,它执行dex(Dalvik Executable)文件而不是class 文件,使用寄存器架构而不是栈架构。但是它的开发体系与Java有着千丝万缕的关系:可以直接使用大部分的Java API、dex文件可以直接从 class 文件转化而来。目前此虚拟机随着Android一起处于迅猛发展的阶段,在Android 2.2中提供了即时编译器(JIT)的实现,执行性能有了很大的提高(3~6倍)。

  • 2013 年 10 月 31 日,Google发布 Android 4.4(奇巧Kitkat),带来了全新的虚拟机运行环境ART(Android RunTime)的预览版和全新的编译策略AOT(Ahead-of-time),需要注意的是,彼时ART是和Dalvik共存的,用户可以在两者之间进行选择。
  • 2014 年 10 月 16 日,Google 发布Android 5.0(棒棒糖Lollipop),ART全面取代Dalvik 成为Android虚拟机运行环境,至此,Dalvik 退出历史舞台,AOT也成为唯—的编译模式。
  • 2016 年 8 月22 日,Google发布 Android 7.0(牛轧糖Nougat),JIT编译器回归,形成AOT/JIT混合编译模式。
  1. KVM虚拟机

    KVM中的K是“Kilobyte”的意思,它强调简单、轻量、高度可移植,但是运行速度比较慢。在 Android、iOS 等智能手机操作系统出现之前,曾广泛应用于手机平台。

  2. CDC/CLDC HotSpot虚拟机

    也称为phoneME Advanced/Feature虚拟机,CDC和CLDC HotSpot 分别是 Sun针对高端嵌人式设备和中低端嵌人式设备的虚拟机,用来代替KVM。

4. 其他虚拟机实现

  1. JamVM :http://jamvm.sourceforge.net/
  2. cacaovm : http://www.cacaovm.org/
  3. SableVM :http://www.sablevm.org/
  4. Kaffe:http://www.kaffe.org/
  5. Jelatine JVM : http://jelatine.sourceforge.net/
  6. NanoVM:http://www.harbaum.org/till/nanovm/index.shtml
  7. Moxie JVM:http://moxie.sourceforge.net/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值