Java虚拟机 -- 概述

一、Java技术体系

Sun官方定义的Java技术体系包括以下几个组成部分:

  • Java程序设计语言
  • 各种硬件平台上的Java虚拟机
  • Class文件格式
  • Java API类库
  • 来自商业机构和开源社区的第三方Java类库

JDK(Java Development Kit):支持Java程序开发的最小环境。
Java程序设计语言、Java虚拟机、Java API类库。

JRE(Java Runtime Environment):支持Java程序运行的标准环境。
Java SE API子集、Java虚拟机。

按照技术所服务的领域来划分,Java技术体系可以分为4个平台:

  • Java Card
    支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。
  • Java ME(Micro Edition)
    支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,这个版本以前称为J2ME。
  • Java SE(Standard Edition)
    支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,这个版本以前称为J2SE。
  • Java EE(Enterprise Edition)
    支持使用多层架构的企业应用(如ERP、CRM应用)的Java平台,除了提供Java SE API外,还对其做了大量的扩充并提供了相关的部署支持,这个版本以前称为J2EE。

二、Java虚拟机发展史

  • Sun Classic / Exact VM
  • Sun HotSpot VM
  • Sun Mobile-Embedded VM / Meta-Circular VM
  • BEA JRockit / IBM J9 VM
  • Azul VM / BEA Liquid VM
  • Apache Harmony / Google Android Dalvik VM
    Dalvik VM是Android平台的核心组成部分之一,它的名字来源于冰岛一个名为Dalvik的小渔村。Dalvik VM并不是一个Java虚拟机,它没有遵循Java虚拟机规范,不能直接执行Java的Class文件,使用的是寄存器架构而不是JVM中常见的栈架构。但是它与Java又有着千丝万缕的联系,它执行的dex(Dalvik Executable)文件可以通过Class文件转化而来,使用Java语法编写应用程序,可以直接使用大部分的Java API等。在Android 2.2中提供了即时编译器实现。
  • Microsoft JVM及其他

你可能感兴趣的:(Java虚拟机 -- 概述)