JVM简介

Java Virtual Machine:跨语言的平台

Java Virtual Machine不关心运行在其内部的程序到底是何种语言编写的,它只关心“字节码”文件。JVM是编程语言无关的,并不会单纯地与Java语言“绑定”,只要其他编程语言的编译结果满足并包含JVM的内部指令集,符号以及其他辅助信息,就能被JVM识别并装载运行。
在这里插入图片描述

1. Java Virtual Machine发展历程

1.1 Sun Classic VM

Sun Classic VM是Sun公司于1996年发布的第一款商用JVM,它内部只提供解释器,如果使用JIT编译器,就需要进行外挂。

1.2 Exact VM

为了解决Sun Classic VM存在的问题,Sun公司在发布jdk1.2时,提供了Exact VM。它具备了现代高性能虚拟机的雏形:热点探测、编译器与解释器混合工作模式。不过它只在Solaris平台短暂使用,最终被HotSpot取代。

1.3 HotSpot VM

Sun公司在发布jdk1.3时,提供了默认的HotSpot VM虚拟机。名称中的HotSpot就是热点代码探测技术,它可以通过计数器找到最具有编译价值的代码,触发即时编译器或栈上替换;并通过编译器与解释器协调工作,在最优化的程序响应时间与最佳执行性能中取得平衡。

1.4 JRockit VM

JRockit VM由BEA公司开发,它专注于服务器应用。JRockit不太关注程序启动速度,所以内部不包含解释器实现,全部代码都靠即时编译器编译后执行。 大量的行业基准测试显示,JRockit VM是最快的JVM。

1.5 J9 VM

J9 VM由IBM公司开发,全称:IBM Technology for Java Virtual Machine,简称:IT4J,内部代号:J9,它广泛用于IBM的各种Java产品。

1.6 Zing VM

Zing VM是一个从Sun HoSpot VM fork出来的一个高性能JVM,可以运行在Linux/x86-64平台上。Azul为它重新写了一套GC,也修改了VM内的许多实现细节。

1.7 Apache Harmony

Apache Harmony是IBM和Intel联合开发的开源JVM,由于未JCP认证,最终于2011年退役。虽然Apache Harmony未被大规模商用,但它的Java类库代码被吸纳进了Andriod SDK。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值