揭开J2ME平台的神秘面纱

原创 2004年06月25日 09:55:00

      做J2ME应用开发的程序员也许经常会被一些名词或者概念所迷惑,比如Personal Basic Profile和Personal Profile有什么关系?基于CLDC的应用程序能够无修改的移植到基于CDC的设备上嘛?要回答这些问题并不容易,因为你必须首先揭开J2ME平台的神秘面纱。

      2000年当J2ME平台的CLDC发布的时候,所有的java开发者都为之兴奋不已。SUN也不负众望在两个月后发布了基于CLDC的MIDP,给开发者提供了开发交互式应用程序的平台。我想现在国内还主要是基于CLDC/MIDP在开发应用吧。J2ME平台的另一个规范CDC在大概10个月后才发布,同时发布的还有Foundation Profile。但是由于他们都没有给开发者提供开发可交互应用程序的API,因此他们发布的影响远远小于CLDC/MIDP的发布。大概在2003年SUN发布了基于CDC的Personal Basic Profile和Personal Profile。他们的组合替代了以前的PersonalJava平台。

      是不是已经被这些名字弄糊涂了,我们现在来看J2ME平台的结构。J2ME平台是本着Configuration和Profile结合来设计的。Configuration是提供支持最大范围设备的最小的平台。Profile是针对特定的设备提供相应的开发包集合。在J2ME的两个基本配置CDC和CLDC是按照如下的标准进行区分的。
CLDC:

512 KB 以下内存
有限能源供应(通常使用电池)
有限或非持续网络连接
简单的用户界面
16位或者32位的处理器
CDC:

2M以上内存
具有网络连接能力,通常为无线网络
需要实现java虚拟机规范的全部功能
32位或者64位的处理器
从上述的要求中我们不难看出CLDC主要针对那些资源非常受限的设备比如手机、PDA、双工寻呼机等。而CDC主要面对那些家电产品,比如机顶盒、汽车导航系统等。
      下面我们来看看J2ME平台的结构图:


我们可以看出J2ME的核心是Configuration,在它里面定义了java的虚拟机,通过它来和底层的Host OS打交道。Profile提供了访问设备的IO或者图形界面的能力,这样Configuration和Profile共同构成了J2ME的运行环境。比如CLCD/MIDP可以提供给你开发手机程序的环境。在Profile之上针对不同的设备还可以提供不同的可选开发包。
      由于CLDC/MIDP大家都比较熟悉了,我们下面主要介绍一下基于CDC的J2ME系统构架,同样还是看它的系统图:

基于CDC的设备可以支持全部的Java2语言规范和Java虚拟机规范,它是CLDC的超集并且远大于CLDC,因此基于CLDC的程序是可以无修改的移植到基于CDC的设备的。Foundation Profile是对CDC进行扩展的Profile,但是他并没有提供GUI的开发包,GUI是在Personal Basic Profile中进行定义的,它提供了AWT的一个子集给开发人员。它还提供了Xlet应用程序模式——针对java TV。Personal Profile是Personal Basci Profile的超集。他提供了对Applet的支持,丰富了AWT的组件,添加了java.awt.datatransfer包。
      总结:上面是我对J2ME平台进行的阐述,我想最重要的就是Configuration/Profile的设计。理解了它就掌握了一半。如果大家有不同的意见,欢迎一起交流!

带你一步一步揭开Rxjava2.0的神秘面纱(7)

前言 上一节里我们学习了只使用Observable如何去解决上下游流速不均衡的问题, 之所以学习这个是因为Observable还是有很多它使用的场景, 有些朋友自从听说了Flowable之后就觉得...
  • jungle_pig
  • jungle_pig
  • 2017年02月15日 08:36
  • 541

零基础汇编揭开CPU的神秘面纱(堆栈、CPU保护模式)

汇编语言是所有编程语言中难度最大最不容易理解的一种编程语言,每个同学对它都是敬而远之。但是它对真正掌握计算核心原理、理解操作系统真正奥妙有着不可替代的作用。    本视频讲师应用深入浅出的语言来...
  • maochengtao
  • maochengtao
  • 2014年09月21日 21:50
  • 1337

了解黑客的关键工具---揭开Shellcode的神秘面纱

了解黑客的关键工具---揭开Shellcode的神秘面纱 2008-02-01 14:01:57 标签:黑客 Shellcode 入侵 休闲 网络安全 原创作品,允许转载,转载时请务必以超链...
  • Together_CZ
  • Together_CZ
  • 2017年05月29日 15:17
  • 163

零基础汇编揭开CPU的神秘面纱

《零基础汇编揭开CPU的神秘面纱(堆栈、CPU保护模式)》 课程讲师:大灰狼  课程分类:嵌入式\硬件 适合人群:初级 课时数量:19课时 用到技术:CPU保护模式 涉及项目:CPU ...
  • u013789665
  • u013789665
  • 2014年04月03日 09:16
  • 690

带你一步一步揭开Rxjava2.0的神秘面纱(4)

前言 在上一节中, 我们提到了Flowable 和Backpressure背压, 本来这一节的确是想讲这两个东西的,可是写到一半感觉还是差点火候,感觉时机未到, 因此,这里先来做个准备工作, 先带...
  • jungle_pig
  • jungle_pig
  • 2017年02月06日 16:58
  • 556

带你一步一步揭开Rxjava2.0的神秘面纱(8)

前言 在上一节中, 我们学习了FLowable的一些基本知识, 同时也挖了许多坑, 这一节就让我们来填坑吧. 正题 在上一节中最后我们有个例子, 当上游一次性发送128个事件的时候是没有任何问题...
  • jungle_pig
  • jungle_pig
  • 2017年02月17日 09:06
  • 1145

揭开计算机的神秘面纱

写在前面的话:从接触电脑以来,就一直对电脑充满好奇。当电脑连接上电源,按下开机键,我们就可以做所有我们想做的事情,打游戏、写文章、看电影、搭建web服务器、自己写程序等等。随着接触电脑的时间越长,反而...
  • hanjingjava
  • hanjingjava
  • 2015年02月28日 12:46
  • 277

揭开正则表达式的神秘面纱

引言     正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a'...
  • somnl
  • somnl
  • 2014年03月22日 18:32
  • 427

揭开正则表达式的神秘面纱

转载:http://www.regexlab.com/zh/regref.htm 引言     正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证...
  • superbigfollicle
  • superbigfollicle
  • 2016年11月04日 22:12
  • 180

揭开Expect的神秘面纱

我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而Expect就使用来...
  • zhao_mali
  • zhao_mali
  • 2013年01月21日 15:53
  • 77
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:揭开J2ME平台的神秘面纱
举报原因:
原因补充:

(最多只允许输入30个字)