一、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及其他
网友评论