免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1287 | 回复: 0
打印 上一主题 下一主题

发布J2ME文章 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-27 10:45 |只看该作者 |倒序浏览
J2ME结构与相关规范介绍
J2ME的适用范围很广,而且针对J2ME的规范也在增加,很多人因为对各种规范的作用不了解造成对J2ME体系的误解。本文主要讲述一下 J2ME 的结构和构成,同时对一些容易混淆的概念进行解释。
J2ME是什么?
很多人把J2ME等同于手机
程序
开发,其实这是一个非常错误的说法。也有人认为J2ME是一个标准,一个规范,这同样是不正确的。
Sun 公
司将 J2ME (Java 2 Micro Edition,Java 2微型版)定义为“一种以广泛的消费性产品为目标的、高度优化的 Java 运
行时环境”。自从 1999 年 6 月在 JavaOne Developer Conference 上声明之后,J2ME 进入了小型设备开发的行
列。通过 Java 的特性,遵循 J2ME 规范开发的 Java
程序
可以运行在各种不同的小型设备上。
J2ME是Sun公司为嵌入式开发所定义的一个框架,一系列标准的规范所组成。所以J2ME是一个协议簇,而不是单一的规范。
J2ME是一个非常大的概念,下面的一幅图可以看看J2ME的适用范围。

图1
图中的CDC 和CLDC 是支持J2ME的两类设备的配置的简称,分别是:
    CDC (Connected Device Configuration,连接设备配置),运行在这一配置上的
程序
称为J2ME Application,在CVM上进行解释。
    CLDC(Connected Limited Device Configuration,连接限制设备配置),运行在这一配置上的
程序
称为MIDlet ,在KVM上进行解释。
可以把CDC 和CLDC 理解为对硬件的定义,就如同PC机和小型机一样,这些设备提供Java
程序
运行的硬件环境。
在 J2ME 中
有两类虚拟机:CVM (C Virtual Machine,C虚拟机)与 KVM (K Virtual Machine,K虚拟机)。
KVM 和 CVM均可被看作是一种 Java 虚拟机,是 JVM 的子集,在功能上都是 JVM 的缩减版。这两类虚拟机的适用范围并不相同,简单地
说,CVM 的功能比KVM 功能更为强大。
这里再补充一点,J2ME还包括对了Java Card 的定义,用于各类IC卡。JavaCard 和CDC/CLDC在J2ME中是相同的地位。
JavaCard 的网页见:
java
.sun.com/products/
java
card/index.jsp">http://
java
.sun.com/products/
java
card/index.jsp 。
所以在这里要理解J2ME的含义,就可以从CLDC 和CDC这两方面进行了解。
CLDC 与CDC的对比
在前面的图1中已经显示出CLDC 和CDC在适用设备上的区别。
CDC主要针对32位的处理器主频通常在75MHz以上,内存可能在1~4MB 。CDC 针对的设备主要是数字电视、机顶盒、
网络
电话、车载计算设备等。这些设备的特点是:
    有线连接
    电源稳定
    设备外设资源比较受限
CLDC
设备的最低配置为:CPU为16位、32位主频在 16MHz以上的处理器,设备的内存比较少,可能只有512KB,甚至更少。现在硬件的发展非常快,以
前所定义的CLDC的设备目前的设备甚至远远超过原来的定义。不过请注意一下,J2ME 对CLDC设备配置的定义只是一个最低要求的定义。其实目前很多
CLDC设备的配置都远远超过上面的配置,不过要分辨CLDC设备主要要从设备特点上进行区别。这些设备的特点是:
    无线连接
    没有稳定的电源供应(通常使用电池)
    设备外设资源极少
具体一点说如智能手机,例如:Nokia 7650,Nokia 3650等,还有例如PDA设备也都应该归于CLDC的范围。
简表
J2ME 使
用配置(CDC或CLDC)和简表(Profile)定制JRE(Java Runtime Environment, Java 运行时环境)。一个完
整的 JRE由配置和简表组成,配置决定了所使用的 JVM(可能是CVM 或 KVM),而简表通过定义特定的类来为应用
程序
提供功能上的支持,一个简表定义了设备所提供的 API 集合。
如果把CDC 、CLDC 理解称为硬件配置的话,Profile可以理解为硬件上的操作
系统
,这个操作
系统
提供了
程序
可以调用的所有功能集合,也就是说Profile定义了各种功能的 API 函数集。当然这个比喻并不完全恰当,因为CVM 和 KVM 才充当了解释Java
程序
执行的角色。又或者可以把Profile理解称为虚拟机上提供的开发包,不同的开发包提供不同的核心功能调用。不管怎么理解都好,只要便于自己理解。
这里再补充说明一点:CDC规范和CLDC规范中也都定义了基本的API集合,这些API提供Java 的基本功能,例如:
java
.io、
java
.lang、
java
.util 、
java
x.microedition.io 这些包就是定义与CDC 和CLDC中的。不过这些包都是Java最基本的功能,更多的面向设备的功能性 API 必须还是通过简表来提供。
下面介绍一下几种常见的简表:
    MIDP (Mobile Information Devices Profile,移动信息设备简表):定义了移动信息设备的类型和提供相关的API集合, MIDP 所定义的功能更加面向用户,而且比 CLDC 更高级。
    IMP (Mobile Information Device Profile,信息模块简表):定义了提供
网络
连接,但是显示方式比较单一的设备简表,例如告警器。
    Foundation Profile(基础简表):提供除了用户界面以外 J2SE 所能够提供的标准类库。
    Personal Profile(个人简表):针对那些资源相对有限,但是对
网络
访问要求很高,基于AWT图形界面的设备,例如Web-TV、汽车导航
系统
等。
除这里提到的三个简表外还有其他类型的简表,但是上面的四个简表是Sun公司所推荐的,而且是开放的简表。例如以前的KJava就是和MIDP 类似的简表。
J2ME内定义的各种规范介绍
到目前为止,本文一共提到了几个规范:
    CLDC 规范:目前分为 v1.0 JSR 30,v1.1 JSR 139
    CDC 规范:目前分为 v1.0 JSR 36,v1.1 JSR 218
    MIDP 规范:分为 v1.0 JSR 37,v2.0 JSR 118
    IMP 规范:JSR 195
    FP 规范:JSR 46
    PP 规范:JSR 62
这些规范都是J2ME中的基础规范,例如说CLDC 设备必须要支持 CLDC规范,同时要选择支持一个简表规范,可能是MIDP 或者其他简表。对于CDC 设备来说也必须支持 CDC 规范,同时选择支持一个简表规范,可能是FP,也可能是PP。
对于其他规范,设备可以选择支持。接下来我引用一下Sun公司J2ME主页对各种规范的介绍:
适用于CLDC设备的规范:
Connected Limited Device Configuration (CLDC); JSR 30, JSR 139 CLDC 规范,前面已经介绍过
Mobile Information Device Profile (MIDP); JSR 37, JSR 118 MIDP 规范,前面已经介绍过
Information Module Profile (IMP), JSR 195 IMP 规范,前面已经介绍过
Java Technology for the Wireless Industry (JTWI), JSR 185 无线Java行业规范
Wireless Messaging API (WMA); JSR 120, JSR 205 无线信息规范,提供短信和彩信功能
Mobile Media API (MMAPI); JSR 135 移动媒体规范,提供音频视频播放
Location API for J2ME (JSR-179) 定位规范,
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/59592/showart_1979237.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP