1.kjava简介
java语言最初是为嵌入式系统设计的一项产品,在java 2中为了区分各种不同的应用,又细分成了java 2 enterprise edition(j2ee)、java 2 standard edition(j2se)和java 2 micro edition(j2me)三种版本,其中j2me又称作kjava。
在j2se中,它定义了java规范的核心类函数库(即java.*)和扩展类函数库(即javax.*),它主要定位在客户端的应用程序。j2ee主要定位于服务器端的应用程序,它除了支持j2se所定义的核心类函数库之外,还增加了一些扩展函数类库,如支持serverlet/jsp的javax.servlet.*等。j2me只支持j2se所定义的核心函数类库的一部分,此外,在j2me中还增加了一些支持嵌入式系统的扩展类函数库,如javax.microedition.*等。
同样是嵌入式设备,它们在运算能力、电力供应等方面还是有很大的差别。connected limited device configuration(cldc)规范描述的就是那些运算能力有限、电力供应有限的嵌入式设备,如手机等;而connected device configuration(cdc)规范则描述的是像电视机顶盒这样运算能力较强、电力供应充足的系统。j2me分别支持这两种不同的配置。在同一种配置下,j2me又通过profile来定义与特定嵌入式设备相关的扩展类函数库。
在传统的java环境中,为了防止程序在传送途中被篡改以及其它一些安全上的考虑,当程序被类别载入器载入后,紧接着要进行byte code审核,审核通过以后才允许java虚拟机执行它。这一操作在pc机上执行从速度上来看没有什么问题,但是在cldc所描述的这类系统中,要想作完全相同的处理,从处理能力和速度上来看就显得有些力不从心了。为了解决这个问题,程序设计人员需要在程序设计结束之后额外再多做一件事:预先审核。通过预先审核,会在最终的类文件中加入一些特殊的符号,当该程序下载到目标平台上去执行时,可以以较快的速度完成审核操作。
2. motorola sdk
下面以摩托罗拉a6288型手机为例来具体讲解kjava的程序设计。在摩托罗拉a6288中使用了两颗cpu,一颗是dragon ball vz 33mhz,用于个人数字处理,另外一颗用于通讯的处理。系统为用户预留了约1m的内存空间,支持符合midp 1.0规范的kjava应用程序。我们可以到摩托罗拉的官方网站去下载开发工具:codewarrior(试用版),下面的内容就是基于这一开发工具。
在codewarrior中,它包含了摩托罗拉的sdk,它实现了cldc和midp 1.0。它所实现的cldc类库有java.io.*、java.lang.*、java.util.*和javax.microedition.io.*,实现的midp类库有javax.microedition.lcdui.*、javax.microedition.rms和javax.micromedition.midlet。
我们在pc环境下编写的嵌入在浏览器中的java程序叫做applet,编写的程序必须要从applet类扩展自己的类。而为手机这类移动信息设备编写的kjava程序叫做midlet,程序必须要从midlet类扩展自己的类。一个midlet程序具备如下的典型结构:
|
|
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器