网站公告列表     学友堂,成就你我!  [admin  2006年11月29日]        
加入收藏
设为首页
联系站长
您现在的位置: 学友堂 >> 电脑网络 >> 编程 >> 文章正文
  什么是J2ME及其基本慨念           
什么是J2ME及其基本慨念
文章来源:不详 更新时间:2007-3-16 0:39:04 本站:学友堂  网址:www.3i3i.cn
学友堂 www.3i3i.cn

什么是J2ME及其基本慨念


如果您曾经http://www.javasoft.com ;网站上查询有关Java 2 Micro Edition 的资料,十之八九会被一大堆的技术名词搞的一头雾水。什么 KVM ,什么CLDC 、CDC 、MIDP ,后面面还冒出了Personal Java 、Embedded Java以及JES 等名词。虽然名为Java 的微小版本,可是它的世界可真是不小,让我们满肚子“见山不是山,见水不是水”的疑惑。的确,在我刚开始接触 Java 2 Micro Edition 的时候,就感觉到这个玩意儿实在越看越让人摸不著头绪。因此在本章中,我舍弃了技术上的细节,希望带大家从宏观的角度来看待 Java 2 Micro Edition 的世界。希望读过本文之后,可以使大家体验“见山是山,见水是水”,一切豁然开朗的感觉。首先,我们必须先对Java 2 Micro Edition 在整个Java 技术之中的定位做个了解。

各种不同版本之Java 程序的开发

如前面所说,各种不同的Java 版本,在其支援的核心类别函式库之完整性以及所支援的 Java 基本型别这两件事情上都有所差异,也就是说,不管您开发的是企业所使用的Java 程序、嵌入式装置上执行的Java 程序、浏览器上执行的Applet ,或是在PC 上执行的应用程序。您都必须在您的电脑上先安装 J2SE ,然後再安装各种版本的核心类别函式库以及额外的扩充类别函式库,如此才能成功地开发各种不同目的的Java 程序。J2SE所提供的Java 编译器(javac.exe)可以帮助我们编译各种不同平台上的Java 程序,而J2SE 所提供的Java 虚拟机器(java.exe)则可以帮助我们在PC 上先行测试这些程序执行结果的正确与否。另外,Java 编译器并不会帮您检查您的程序是否符合各种平台上所支援的核心类别函式库与 Java 基本型别。举例来说,虽然我们在前面说过,Smart Card 版本并不支援boolean 、byte 以外的Java 基本型别,而且该平台也只支援java.lang.* 核心类别,可是当我们在撰写 Smart Card 平台上的程序时,就算在程序码里用了boolean 或byte 以外的Java 基本型别,或者使用了java.lang.*之外的其他核心类别,编译器仍然可以照常帮您编译出类别档。这个时候大家一定开始产生疑惑 --那么这些程序如果放到Smart Card 上头执行的时候,出了问题怎么办 ? 难道不会造成Smart Card 上的虚拟机器执行时发生错误吗 ? 针对这个可能发生的潜在问题,Sun Microsystems 在各种不同版本的开发套件中,有些会内附检查器 (checker)或者预先审核器 preverifier),这两个工具可以帮助您在将程序放到目标平台之前先做好检查和预先审核的工作。检查器会帮您找出类别档之中不合目标平台规格的部分,并提醒你这些地方可能无法在目标平台上执行。因此只要有检查器的协助,您大致上可以确定您的程序可以符合目标平台的规定并顺利执行。 Java Card 的开发套件中就附有检查器。

而某些平台的开发套件则附有预先审核器,预先审核器除了做检查器做的工作之外,还有一项额外的工作,就是减轻目标平台上虚拟机器的负担,要解释预先审核器这个额外的工作,在传统的 Java 程序之中,为了安全上的考量,任何进入执行环境的类别档 (不管该类别档是来自本机或是远端机器 ),都必须先经过Byte Code 审核器(Byte code verifier)的验证,以防止程序在传送途中遭到恶意的修改,而使得 Java 程序在执行时对系统有不良影响。经过审核之後,该类别档才能开始被J 虚拟机器所执行。如果这个审核的动作在一般的 PC 上执行,速度倒是还能够接受,可是一旦放到如 Palm 或是手机这些CPU 较慢、记忆体也比较少的机器上面就显得十分吃力了。为了节省宝贵的 CPU 运算时间(既能省电又能够加速程序执行 ),因此,在程序设计师产生能够让某些特定平台执行的类别档之前,程序设计师必须先在 PC 上使用预先审核器做一些前置的审核工作,预先审核器会在类别档之中加入一些特殊标记或符号。如此一来,当这些程序放到目标平台上执行时,就可以大幅减少在目标平台上做审核时的时间,藉而加速程序的的启动及执行速度。因此在J2ME 之下的程序(Spotlet 、MIDlet),其执行步骤变成因为预先审核的关系,执行时Byte Code,审核器的工作就变少了,也因此从程序载入到开始执行之间的时间因而缩短。 CLDC标准实作和MIDP 参考实作之中就附有预先审核器。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    什么是IP视频监控?
    达沃斯论坛是个什么论坛
    视觉上“盲点”是什么?
    因特网、万维网、互联网
    什么叫门户网站?
    什么是超级兔子
    网格计算是什么意思?
    网格计算是什么意思?
    什么是数码相框
    什么是“卡尔.蔡司”镜头
     
    版权所有 2004-2012  学友堂 [3i3i.cn] 最佳分辨率 1024×768
    Copyright www.3i3i.cn All rights reserved.