`
Teok
  • 浏览: 150696 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

J2ME框架体系介绍

    博客分类:
  • J2ME
阅读更多
一、J2ME概述
到目前为止,大部分人都已非常熟悉 Java 2平台,以及 Sun如何把 Java技术分成三个版本 (标准版、袖珍版以及企业版),Sun 在1999年6月时推出了 Java 2袖珍版 (J2ME)来满足消费电子和嵌入设备的需要。J2ME是为了那些使用有限的能源、有限的网络连接 (常常是无线连接)以及有限图形用户界面能力的设备开发的。它最初的目标是 16位或 32位处理器,16 MHz时钟频率, 512K或更少内存的设备。乍一看之下, J2ME就像一个没有绑定明显主题的松散的应用程序接口和技术规范。我们想通过说它不是什么东西的方法来描述它,它不是一组用于台式机 Java应用程序规范,如果你再观察仔细一些,你会发现所有的 J2ME组件都围绕一个中心,这些中心被称为configuration(配置 ,Sun的市场营销资料也称它们 design centers,设计中心),它们中间的每一个都是用于消费电子和嵌入设备的特别的类。

Connected limited device configuration(有限连接设备配置,简称 CLDC ) 这个配置定义了 Java应用程序接口以及支持手持设备的技术,就像 Sun的文档中所描述的那样, " devices that you hold in your hand(你握在手中的设备) " Palm序列手持设备可能是这一领域的设备的最好的例子,特别是它有开发 CLDC的功能以及 Palm设备运行期系统可用。

Connected device configuration(连接设备配置 CDC ) 这个配置定义支持象 Sun文档中所说, " devices that you plug into plug into the wall(你插入墙的设备)的设备的应用程序接口和技术,这样的设备的一个例子可能就是机顶盒。

这两种配置不同的地方就在于它们应用于的装置的能力, CLDC设备的处理器能力有限 (与台式机系统比较 ),并且存储器大小一般也只在128 KB到 512 KB之间, 与此同时,CDC系统就不同了,它可能有 32位或 64位处理器,以及有限的存储容量,不过它的下限也得超过512K。 它遵循的原则就是,每个不同的能力硬件的配置都将被不同的虚拟机支持。 基于 CDC的系统使用一个功能强劲的虚拟机,而基于 CLDC系统的使用 KVM 。

每个配置代表一种低水平的,基本的应用程序接口,在这两个相似基础之上是 profile(简表),用于特殊设备的额外的应用程序接口。 我想通过看一张来自SUN提供的文档中的图表 (参见图 1 )来解释这其中的关系。



图一解释 配置和简表的体系结构

J2ME的体系结构被横向地分成三层,纵向分成两部分。配置包括一个控制配置核心类的虚拟机, 具体的简表位于每个配置之上。

J2ME现在定义两个配置, Connected Device configuration(连接设备配置 CDC )和限制性更强的 Connected Limited Device Configuration (有限连接设备配置)。 简表的实现是 Java应用程序接口的一个集合,用于适应被定义配置的应用程序接口提供的服务,简表是一个完整的运行环境,一个在简表上执行的应用程序不需要额外的支持类。

J2ME没有定义满足这两种配置的标准化用户接口,Sun也承认现在的消费设备多种多样,用户界面也各不一样,所以定义一个可用于所有用户的界面是一场失败的战争。 J2ME中的用户界面定义在简表中。

二、J2ME的体系结构

现在个人计算机系统的数量和种类已经发展到无法控制的地步,请你想一想,你编写的程序运行在“信息家电”舞台的情景吧,这些信息家电包括呼叫器,行动电话,像Palm这样的个人数字助手(PDA),电视机顶盒,POS终端以及其他的消费电子设备。现在全世界上光是手提电话生产商就有许多,更不用说别的家电设备了,而且每一种家电设备又有不同的特性和界面。所以,你可以想到, Java应用程序的轻便性以及能够解决开发这么许多不同的设备程序的能力,使大家对J2ME有很大的期许。当然,为了更好的开发这些信息家电,就要求把Java的精髓压缩进一个非常小的程序包中,这就是J2ME。

J2ME是一种通过许多部件和规范的技术, 这众多的部件和规范帮助 J2ME来满足这众多的消费产品的不同的需要。和所有的爪哇程式语言技术一样,在它的核心属于一种虚拟机。 就像使用所有 Java技术一样,J2ME的核心也在一种虚拟机中。 最初,用于 J2ME应用程序虚拟机的被称作 Kilobyte virtual machine或简称 KVM。就像它名称的含义, KVM比较小,通常只有 128K或更少。这比起我们通常了解和使用的 Java 2标准版 Java虚拟机 ( JVM )的 32 MB来说就小得多了。

用于连接虚拟机的是一系列配置和简表,它们提供了用于特定 J2ME环境的类应用程序接口(见图二)。 每个配置和简表处理一般或具体的消费产品,配置和简表规范是由多种多样的设备生产商和用户共同开发并建立的。配置是用于一组通用设备的最小的 Java平台, 常常归为一种横向的设备分组,相对来说,横向分组设备是那些共享相同的内存安排,通信带宽,能量需求以及用户能力的设备,一般认为配置能够提供这众多的设备的所有需求。


图二解释: J2ME层次

Java虚拟机是 J2ME技术的核心,但是配置和简表提供特殊环境的类应用程序接口。配置是用于一组通用设备的最小的 Java平台,而简表则为具体的设备家族或特别的应用程序提供更具体的能力。

J2ME领域的新的开发者常常被这些事实困惑的, 事实上, Sun的第一个配置(现在只是一种配置的引用实现 )带有称为 KVM的虚拟机引用实现, KVM满足配置的虚拟机的必要条件。然而, Sun的 KVM也可以被另外一个虚拟机所代替,现在, 正是因为配置和虚拟机结合得有点紧密,因此导致了这么多的混乱。

另一方面,简表完善了 配置,为某个具体的设备家族或某个具体的工业片段应用程序提供更高的性能。 换言之, 简表为具体的纵向市场的设备比如说行动电话提供更多的性能。这里的关键就是 简表必须完善 配置, 没有 配置和虚拟机提供核心类应用程序接口和运行期环境的话,简表也不会工作。

通常,简表为一种给定的垂直分组设备提供用户界面、输入法、持久性机制。这类 简表被认为是发展这些设备应用程序的完整的工具包。我们见到最多的应用程序简表的例子就移动电话简表和个人数字助手(PDA)简表,其他简表为范围宽广的设备提供非常特殊的功能或应用程序可移植性,这方面的例子就是提供远程方法调用 ( RMI )功能的简表和提供统一银行事务的简表。

虚拟机、 配置、 简表…你是不是已经被搞迷糊了? 如果这样的话,我们就来简化一下 J2ME体系结构吧。 如果你想为小型信息家电编写 Java应用程序的话,你就需要两个前提:一个 配置和至少一个 简表。 现在, 一般是配置捆绑了虚拟机和一套针对你的平台所能够用的横向分组设备的Java类库。其次,你至少还需要一个 简表来为你的平台提供附加的 Java类,这个 简表通常会为你的设备提供用户界面、输入和数据库类。有了这两个前提,你就了使用 Java为你的设备编写应用程序的基本的J2ME环境。

分享到:
评论

相关推荐

    J2ME结构体系(新)

    **J2ME结构体系(新)** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的嵌入式设备而设计,如移动电话、智能家电、PDA等。J2ME提供了开发和部署移动应用程序的框架,使开发者能够在多种不同的...

    J2ME 体系 内部资料

    **J2ME体系详解** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能家电、掌上电脑等。它为这些资源有限的设备提供了运行Java应用程序的能力。J2ME的出现使得开发者...

    基于J2ME技术的嵌入式系统的开发

    J2ME的体系结构由配置和框架组成。配置定义了设备的硬件限制,如内存大小、处理能力和网络连接能力,而框架则提供了针对特定设备类别的API集合。例如,C-LDC(Connected Limited Device Configuration)是针对资源...

    myeclipse搭建j2me环境

    在IT行业中,J2ME(Java 2 Micro Edition)是一种广泛应用于移动设备、嵌入式系统和消费电子...随着实践的深入,你还可以探索更多高级特性,如利用MyEclipse的插件体系,集成更多的J2ME开发工具和框架,提高开发效率。

    j2me中文教程

    总结,J2ME中文教程涵盖了从基础理论到实际开发的各个方面,旨在帮助开发者理解J2ME的体系结构,掌握开发技能,并能运用到实际项目中,创建高效、用户友好的移动应用程序。通过学习本教程,你将能够充分利用J2ME的...

    最新j2me插件(ECLIPSE)

    J2ME由配置和框架组成,其中配置定义了设备的基本硬件能力,而框架则提供了一系列API,开发者可以利用这些API来构建应用程序。 **Eclipse插件系统** Eclipse是一个开源的集成开发环境(IDE),广泛用于Java开发。...

    J2ME Tutorial中文版

    J2ME的体系结构由配置(Configurations)和配置文件(Profiles)组成。配置定义了设备的最低硬件和内存需求,如Connected Limited Device Configuration (CLDC)用于功能手机,而Connected Device Configuration (CDC...

    J2ME使用教程,手机游戏开发

    J2ME的体系结构由配置(Configurations)和框架(Profiles)组成。配置定义了Java虚拟机(JVM)和基本类库,如Connected Limited Device Configuration (CLDC) 和 Connected Device Configuration (CDC),它们分别...

    J2ME开发手册

    总结,J2ME是Java在嵌入式和移动领域的实现,它的知识对于全面理解Java生态体系至关重要。学习J2ME不仅能够提升开发者在小内存、低功耗设备上的编程能力,还能够帮助他们更好地适应不断变化的移动技术环境。

    j2me探索总结(初学时的经验)

    1.3 J2ME体系结构介绍 J2ME的体系结构由Configuration、Profile和Optional Packages组成: 1.3.1 Configuration:是J2ME的基础,定义了设备的基本硬件和操作系统特性。 1.3.2 Profile:基于Configuration,针对...

    J2ME实用教程PPT\课件

    总之,J2ME作为Java技术的重要组成部分,为开发者提供了在小型和嵌入式设备上开发应用程序的框架。了解和掌握J2ME的基本概念、体系结构及其优势,对于想要涉足这一领域的开发者至关重要。通过不断的规范更新和硬件...

    基于J2ME的手机游戏开发.doc

    本研究旨在探讨J2ME的体系结构、API以及如何利用这些工具和技术开发手机游戏。包括MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)的概念及其在游戏开发中的应用。 第...

    BEST教学体系讲师认证考卷-J2ME(含答案)

    J2ME由配置(Configurations)和框架(Profiles)组成。配置定义了Java虚拟机和基本类库,而框架则是在特定配置之上添加的特定功能集合,针对不同类型的设备提供定制的API。常见的J2ME配置有Connected Limited ...

    J2ME学习视频

    **J2ME体系介绍** J2ME由多个配置(Configurations)和可选的框架(Profiles)组成。配置定义了Java虚拟机(JVM)的最小实现,而框架则增加了特定设备功能的支持。例如,基础配置有Connected Limited Device ...

    基于J2ME技术手机游戏开发与实现

    J2ME的体系结构可以分为三层:Java虚拟机(Java Virtual Machine, JVM)、配置(Configuration)和框架(Profile)。每一层都有其独特的功能和作用: - **Java虚拟机**:这是J2ME的核心,负责解释执行Java字节码。 ...

    J2ME手机游戏开发详解

    - **JBuilder2005开发环境搭建**:介绍了如何使用Borland的JBuilder搭建J2ME开发平台,并提供了实例。 - **Eclipse开发环境的搭建**:展示了如何使用开源的Eclipse IDE来构建J2ME应用。 #### 六、高级用户界面设计 ...

    j2me开发指南第一讲

    这个文档可能介绍了J2ME游戏开发的基本框架和架构。通常,J2ME游戏会包含用户界面、游戏逻辑、资源管理、输入处理等模块。理解这些模块如何协同工作对于创建流畅的游戏体验至关重要。 2. **3D游戏开发高级应用** ...

    J2ME Tutorial中文版!!

    **Java Micro Edition (J2ME) 教程中文版**...总结来说,J2ME教程中文版将帮助学习者全面理解J2ME的体系结构、开发流程、关键技术和实践应用。通过学习,开发者可以具备在各种小型设备上构建功能丰富的应用程序的能力。

    j2me_cldc-1_1-fcs-src-unix.zip

    在J2ME体系中,Connected Limited Device Configuration(CLDC)是一个重要的组成部分,它定义了运行在内存和处理器资源非常有限的设备上的Java运行环境。 CLDC1.1是CLDC的一个版本,它在CLDC1.0的基础上进行了升级...

Global site tag (gtag.js) - Google Analytics