三大元素组成J2ME体系结构

开发 前端
本文向大家简单介绍一下J2ME和JVM的概念,J2ME是一种广泛的以消费性信息产品为目标的,高度优化的Java运行时环境,而JVM,配置和简表构成了J2ME运行环境。

你对J2ME体系结构是否了解,这里和大家分享一下,J2ME主要用于小型嵌入式设备上,这些设备与普通的PC设备相比没有统一的硬件标准和操作方式,其功能也千差万别。

1.J2ME简介

J2ME是一种广泛的以消费性信息产品为目标的,高度优化的Java运行时环境。其中的大部分类都保留了J2SE和J2EE的类,但根据移动设备的不同又优化和更新。J2ME主要用于小型嵌入式设备上,这些设备与普通的PC设备相比没有统一的硬件标准和操作方式,其功能也千差万别。

2.J2ME体系结构

当前很多资料上都将J2ME的体系划分为3个。即:JVM,配置和简表。而有的资料上也将其分为4个部分,在配置和简表中间又加上了一些可选包或者API等。我们针对4个层次的体系结构做个简单的说明:如果我们再加上一层的话就是OS层了。其中JVM,配置和简表构成了J2ME运行环境。对于各个层次的详细解释和功能如下:

1)JVM。

在J2ME中提供了2中JVM。由于JVM是java代码运行时必须的,只有任何设备上有了JVM才能改很好的解释“一次编译,到处运行”的关键技术。那么在嵌入式或移动设备中也需要JVM作为操作系统和java应用程序间的接口。但是由于内存的限制,嵌入式设备的JVM也要特殊提供。J2ME中提供的JVM分为CVM和KVM,是JVM的缩减版,KVM比CVM功能稍弱。CVMCompactVirtualMachine,最初是这种解释的,但是后来对于C没有任何意义了。只是CVM虚拟机主要运行在存储量较大的嵌入式设备,比如可视电话.POS收款机等。KVM是最小运行时环境的一部分,也就是用于CPU和内存较小的设备,这里的K是千字节的意思。KVM主要用于移动电话,个人数字助理(PAD)等小型设备。

2)J2ME配置简介

当前提供的J2ME配置有两类,CDC和CLDC。CDC(ConnectionDeviceConfiguration)连接设备配置主要用于存储量较大,内存2MB以上的设备中,大多用CVM虚拟机。其用户接口较多。网络带宽有限,所以有很多不同的简表。而其***的特点就是支持浮点数。包含了所有CLDC中定义的类和接口。CLDC(ConnectionLimitedDeviceConfiguration)有限连接设备配置。主要用于小型的资源较小的设备中,针对内存小于512Kb的嵌入式系统。采用KVM虚拟机。其特点是很多J2SE的类和接口没有实现,***的特点就是不支持浮点数。比如银行的POS机,支持浮点数,内存较大,肯定是CDC类的设备。而个人移动电话内存小,肯定不支持浮点数。用的就是KVM虚拟机。

3)MIDP(MobileInformationDeviceProfile)移动信息设备简表

这里主要针对的是CLDC设备。包含3个生命周期和事件处理等机制。Paused状态:程序处于暂停状态,方法:pauseApp();Actived状态:程序处于运行活动状态。方法startApp()Destroy状态:程序运行销毁结束前的状态。DestroyApp();MIDP包含其他事件处理状态和机制。接下来我会通过一个程序(最简单的HelloWorld)详细介绍MIDP的机制。这里就简单的介绍完J2ME的体系结构。具体细节问题还需要多看关于J2ME的书籍才能够详细了解。
 

【编辑推荐】

  1. J2ME代码优化的两种方案
  2. J2ME开发环境搭建必备手册
  3. J2ME开发环境的搭建和运行
  4. 瞻望J2ME前景,看J2ME路在何方?
  5. Java2平台J2SE、J2EE、J2ME三大版本的区别

 

 

责任编辑:佚名 来源: cn-java.com
相关推荐

2010-09-29 08:57:04

J2ME前景

2010-09-16 15:24:16

JVM结构

2010-09-27 09:43:07

JVM体系结构

2010-09-30 16:06:21

J2ME平台

2010-09-29 09:19:39

J2ME开发工具

2010-09-29 10:22:47

J2SEJ2EEJ2ME

2009-03-22 09:38:03

Android移植J2ME

2010-09-30 13:28:55

J2ME图形

2009-06-23 11:30:16

RMSJ2ME

2010-09-30 09:56:26

J2ME Polish

2009-06-08 21:34:09

J2EEJ2SEJ2ME

2010-09-29 13:50:31

J2MEJ2SE

2009-07-09 16:06:10

JDK J2EE J2

2011-09-01 16:45:15

J2MELua

2010-09-29 12:45:50

J2ME

2009-05-26 17:35:40

J2ME软件签名证书

2010-09-29 14:54:34

J2MEHashtable

2010-02-04 13:15:59

Android J2M

2010-09-30 11:04:53

J2MERMS

2010-09-29 09:13:48

J2ME开发环境
点赞
收藏

51CTO技术栈公众号