岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Java >> J2ME >> 嵌入式 >> Java正文
嵌入式开发技术前沿:仔细研究J2ME
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-7-22 22:52:56

  Java 2 平台袖珍版(Java 2 Platform, Micro Edition(J2ME))为开发者提供了伟大的工具,它把 Java 平台的以网络为中心和平台不可知论的特性移植到有限存储器和有限处理器的设备。Soma Ghosh 解释了 J2ME 领域的基础知识,向您展示了该平台的构件并演示了一个样本应用程序。
  
  在我们今天的生活中,个性化的智能信息用品已经是必需品。这些用品包括移动电话、双向寻呼机、智能卡、个人电脑记事本(personal organizer)和掌上电脑(palmtop)。它们的趋势是成为目的特定的、资源有限的网络连接设备,而不是我们迄今已知的通用台式机。为专门满足这一巨大的消费空间,Java 2 平台袖珍版(J2ME)提供了极多的创新 Java 技术。
  
  Java VM 的变迁:从台式机到微型设备
  作为 J2ME 目标的微型设备具有 16 位或 32 位处理器和总量不少于大约 128 KB 的存储器。这些设备都符合连接限制设备配置(Connected Limited Device Configuration(CLDC)),同时也保留了 Java 的传统特性,即任何时间、任何地点的代码可移植性、部署灵活性、安全的网络传送以及代码稳定性。J2ME CLDC 的先决条件是一个紧缩的 JVM,称为 K 虚拟机(K Virtual Machine(KVM))。KVM 是为小存储器、资源受限的网络连接设备设计的。
  
  另一个 J2ME 配置是连接设备配置(Connected Device Configuration(CDC))。它的目标是高档的消费类电子产品和嵌入设备,例如智能通信器、高级“智能”寻呼机、智能个人数字助理(PDA)以及交互式数字电视机顶盒。典型地,这些设备运行一个 32 位的微处理器/控制器,而且有总量大于 2 MB 的用于虚拟机和库的存储的存储器。CDC 包含有 C 虚拟机(C Virtual Machine(CVM))。在本篇文章中,我们将把注意力放在 CLDC 和 KVM 体系结构上。关于 CDC 和 CVM 的更多信息,请参阅下面的参考资料部分。
  
  为适应占用资源很小的(small-footprint)设备的特性,KVM 已经按以下方式修改:
  
  VM 的大小和类库已减小为 50 到 80 KB 目标代码的标准
  
  存储器占用已经减小为几十千字节的标准
  
  在具有 16 位和 32 位处理器的设备上,性能有效
  
  体系结构是高可移植的,特定于机器和/或平台的代码的总量很少
  
  多线程和垃圾回收是独立于系统的
  
  可以对虚拟机的组件进行配置,以适合于特定设备,从而增强了灵活性
  
  J2ME 体系结构和配置
  J2ME 体系结构是基于设备的系列和类别的。一个类别定义了一个特定种类的设备:移动电话、简单寻呼机和电脑记事本都是单独的类别。对存储器和处理能力有相近需求的若干类别的设备构成设备的一个系列。移动电话、简单寻呼机和简单个人电脑记事本一起就是占用资源很小的设备的一个系列。
  
  图 1 定义了在 J2ME 上下文环境中设备的系列和类别之间的关系。
  
  
图 1. 设备的系列(family)和类别(category)

  
 

  为了支持资源受限设备系列所要求的那种灵活性和可定制部署,人们将 J2ME 体系结构设计成模块化的和可伸缩的。J2ME 技术在一个完整的应用程序运行时模型中定义了这种模块性和可伸缩性,在该模型中的四个软件层都构建在设备的主机操作系统上。
  
  图 2 显示了 J2ME 体系结构。
  
  
图 2. J2ME 体系结构

  
 

  Java 虚拟机层(Java Virtual Machine Layer):这一层是 Java 虚拟机的一个实现,它是为特定设备的主机操作系统定制的,而且支持一个特定的 J2ME 配置(configuration)。
  
  配置层(Configuration Layer):配置层定义了 Java 虚拟机功能的和特定类别设备上可用的 Java 类库的最小集。从某种程度上说,一个配置定义了 Java 平台功能部件和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的所有设备上都是可用的。用户不太会见到这一层,但它对框架(profile)实现者非常重要。
  
  框架层(Profile Layer):框架层定义了特定系列设备上可用的应用程序编程接口(API)的最小集。框架在一个特定的配置上面实现。应用程序是针对特定的框架编写的,因此可以移植到支持该框架的任何设备上。一个设备可以支持多个框架。用户和应用程序供应商看到最多的就是这一层。
  
  MIDP 层:移动信息设备框架(Mobile Information Device Profile(MIDP))是一个 Java API 集合,它处理诸如用户界面、持久存储和联网这样的问题。
  
  Java 虚拟机层(Java Virtual Machine Layer)、配置层(Configuration Layer)和框架层(Profile Layer)一起构成了连接限制设备配置(Connected Limited Device Configuration(CLDC))。MID 框架(MID Profile)和 CLDC 提供了一个标准的运行时环境,这个环境允许把新的应用程序和服务动态地部署在终端用户设备上。
  
  用 MIDP API 进行 J2ME 编程:构件
  CLDC 和 MIDP 组合起来为创建移动电话和简单双向寻呼机上的应用程序提供了完整的环境。
  
  MID 框架的核心是一个 MIDlet 应用程序。这个应用程序继承了 MIDlet 类,以允许应用程序管理软件对 MIDlet 进行控制、从应用程序描述符检索属性以及对状态变化进行通知和请求。
  
  所有 MIDlet 都继承 MIDlet 类 — 运行时环境(应用程序管理器)和 MIDlet 应用程序代码之间的接口。MIDlet 类提供了用于调用、暂停、重新启动和终止 MIDlet 应用程序的 API。
  
  应用程序管理软件可以在运行时环境内管理多个 MIDlet 的活动。此外,MIDlet 可以自己发起一些状态变化,并把这些变化通知给应用程序管理软件。
  
  MIDP API 类的完整集合可以分为两个类别:
  
  用于用户界面的 MIDP API:设计这些 API 是为了能以一系列屏幕显示为基础与用户进行交互操作,每一屏幕显示把适量的数据显示给用户。命令以每屏幕为基础提供给用户。这些 API 允许应用程序决定下一屏显示什么、执行什么计算和使用网络服务的何种请求。
  
  用于处理数据库的 MIDP API:这些 API 负责组织和操作设备数据库,这个数据库由在 MIDlet 的多个调用之间跨越时保持持久的信息组成。
  
  底层的 CLDC API 用于处理字符串、对象和整数。还提供了 Java 2 API 的一个子集,用于处理 I/O 和网络通信。
  
  图 3 显示了 J2ME 的构件。
  
  
图 3. J2ME 的构件

  
 

[1] [2] 下一页


  • 上一个Java:
  • 下一个Java:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    传世私服 传奇世界私服 天龙八部私服 bet365 传世私服 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365