深入J2ME配置层

2016-02-19 13:02 0 1 收藏

今天图老师小编给大家精心推荐个深入J2ME配置层教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】


  Java 2 Micro Edition (J2ME)是建立在一个由profiles,配置,虚拟机和主持操作系统等部分所组成的标准架构之上的。这些内容组成了完整的J2ME实时运行环境。图A显示了这些部分是如何结合在一起的。J2ME提供了两种配置:Connected Limited Device Configuration (CLDC)和the Connected Device Configuration (CDC)。这两种配置以设备的内存footprint为基础面向不同的设备类型。
  
  配置指定了最小的功能组和相关的Java 虚拟机 (JVM)应支持的Java类库。从概念上讲,配置层在虚拟机 (VM)的顶端运行,但当你使用一个例如CLDC和CDC的配置时,你也会涉及到相关的VM,因为二者是紧密相连的。
  
  然而,应该注重的是在J2ME中,配置并不附属于一个特定的VM,他可以与其它的VM工作并支持所需的库。例如,CLDC也可以和应用指定基础功能的VM共同工作。关于细节,请见CLDC HotSpot应用虚拟机白页。
  
  为了帮助你理解J2ME配置层所扮演的角色,我将对CLDC和CDC分别地进行阐述。
  
  CLDC
  CLDC是针对少于512KB内存footprint的设备的配置。CLDC采用的是KVM,它是高度优化的JVM方式,他针对的是16比特或32比特的微处理器,160到512 KB内存为基础的低端,网络连接,电池驱动的设备。典型的内存要求是128KB做有来存储KVM和相关的库。更多关于KVM的信息可以从Sun公司的KVM白页中得到。
  
  就网络化而言,CLDC针对的是有限的和间歇性的无线连接设备,所有在J2ME CLDC之上运行的应用软件都应能在其他任何高端的Java VM上运行。当然,这需要CLDC库的支持。CLDC配置关注于I/O,网络化,安全问题,国际化问题和核心Java库等相关的领域。
  
  与事件处理,用户和应用程序的互动,应用程序生存期治理等内容相关的领域是由Profile来处理的。使用界面定义(对于特定的设备,如传呼机,移动电话和PDA)也在Profile层的范围之内,它建立在顶端之上,并使用J2ME配置。Mobile Information Device Profile (MIDP)是一个J2ME profile,它定义了使用CLDC配置设备的用户界面相关的规范。
  
  CLDC从J2SE获得绝大多数的类,但一些针对小内存footprint设备的新类并不是从J2SE APIs获得的。关于类从J2SE 做继续和新CLDC类的具体信息,可参考CLDC规范1.0a版本的6.2和6.3中的内容。Java语言规范中的一些例外是没有浮点支持,没有类实例的完成化支持和有限的错误处理能力。
  
  在这里提到CLDC HotSpot应用也是具有相关性的,它相当于使用CLDC配置的设备的KVM中Java VM的替换。根据Sun公司,CLDC HotSpot执行VM是一个高性能的JVM(32位,采用CLDC v1.0规范)。他在相同的内存footprint上运行时提供比KVM高出一个数量级的更佳的性能。
  
  CDC:完全Java平台
  CDC是应用在具有较大内存,非凡是2MB以上的设备上的,CDC针对有限和间歇的无线连接设备,CDC与CVM和Foundation profile共同定义了完全的J2ME环境。
  
  CVM是为用户和嵌入设备设计的完全功能性JVM,它支持所有的Java 2 v1.3 VM安全防护,JNI, JVMDI, RMI,弱引用功能和库。本质上说,CVM具有所有一个驻留桌面系统的JVM所具有的功能。
  
  CDC由J2SE中最小的Java数据包组成。Foundation profile由用户设备所需要的保持类库和APIs所组成。因此,假如你工作在一个以CDC为基础的J2ME环境下,你就需要更新你代码以使APIs更新换代。
  
  CDC是CLDC的一个扩展集,所以在两种配置之间存在着向上的兼容性。CDC和Foundation profile也提供了对使用PersonalJava实时规范开发的应用程序的完全兼容。
  
  总结
  J2ME模式体系使能了不同设备类别的“非凡版”Java的创建。随着越来越多的设备制造商开始接受J2ME技术和J2ME设备使用范围的增大,更新的J2ME profiles将得到应用。通过为开发以Java为基础的设备提供一个公共最小化平台,J2ME配置用结构化的方式使能了这些Java非凡版本。

来源:https://www.tulaoshi.com/n/20160219/1602821.html

延伸阅读
一.代码优化 内存会溢出肯定和代码逃不了关系,99.99%学java的人都知道垃圾回收器是java的一大优点并据此来嘲笑C++。显然这个特性为代码编写者省了不少事,但这个特性却带来了不少隐患。举个例子在游戏当中经常有不同场景的切换,如从游戏逻辑退到主菜单逻辑,对游戏逻辑对象的态度很多人会选择忘记等待垃圾回收器来收尸。乍看之下似乎并无不...
MIDP2.0中提供了Javax.microedition.lcdui.game包,这样我们可以更轻易的进行游戏开发,在这个包内一共包含了5个类,分别是GameCanvas,Layer,LayerManager,TitledLayder和Sprite。Layer是个抽象类,TiledLayer和Sprite都是Layer的子类,前者是为了绘画场景后者是为了绘画游戏的角色的。而LayerManager则是治理层。本文通过一个简单的例子介绍...
假如您曾经到http://www.Javasoft.com 网站上查询有关Java 2 Micro Edition 的资料,十之八九会被一大堆的技术名词搞的一头雾水。什么 KVM ,什么CLDC 、CDC 、MIDP ,后面还冒出了Personal Java 、Embedded Java以及JES 等名词。虽然名为Java 的微小版本,可是它的世界可真是不小,让我们满肚子「见山不是山,见水不是水」的迷惑。的确,在我刚...
Ticker对象 Ticker对象是一个项目类型的对象,它的作用相当于一个滚动消息栏,在屏幕的上方显示滚动的信息。 Ticker类的构造函数仅有一个参数,那就是需要滚动显示的消息。 package fancy.test; import Javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ShowTicker extend...
一、序言 昨天在网上闲逛,发现一篇讲解用Delphi实现华容道游戏的文章,颇受启发.于是,产生了将华容道游戏移植到手机中去的冲动.现在手机游戏琳琅满目,不一而足,华容道的实现版本也很多.正巧不久前笔者对J2ME下了一番功夫,正想借这个机会小试牛刀。选用J2ME的原因还有一个就是目前Java开发大行其到,无线增殖业务迅猛发...

经验教程

691

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部