您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> JAVA >> 辅导 >> 正文    
  j2me的基本介绍⑷ 【注册男护士专用博客】          

j2me的基本介绍⑷

www.nanhushi.com     佚名   不详 

4。深入理解CLDC (part II) 
   本节的部分内容译自J2ME White Paper,比较枯燥,但请记住,毕竟,正确的观念重于一切。 

类文件审核过程(classfiles Verification) 
   CLDC要求其下层的虚拟机能够辨别并拒绝非法的class文件。但由于CLDC本身面向小内存消耗的小型设备这一前提。其类文件检测机制与J2SE中定义的标准类 文件审核机制还有所不同。请注意看下图: 
                            
MyApp.java               
    │                   
    ↓                   
┌───┐                
│Javac │┄编译器        
└───┘               
   ↓                    
MyApp.class               
   ↓                                   
┌──────┐          
│preverifier │┈预审核器
└──────┘        
    ↓               
MyApp.class              
    │                   
    ↓download...                   
┌────────┒
│                ┠┄┄KVM运行环境
│┌──────┐┃   (目标设备)
││  verifier  │┃
│└──────┘┃      
│                ┃
│┌──────┐┃    
││            │┃ 
││interpreter │┃
││            │┃
│└──────┘┃
┕━━━━━━━━┛ 
图2 CLDC/KVM中类文件的审核过程 
请注意CLDC中的预审核(preverification)过程。这是CLDC区别于通常的类文件审核过程的关键。如上图所示,当源程序被编译后,必须被预审核器预审核,然后才能被下载到目标设备上去。之所以有这一步骤,主要是为了减轻KVM中审核器的负担,加快审核速度。就像我前文提到的,这是出于对CLDC支持的硬件的考虑。这里记住这个概念就行了。具体的操作方法我会在以后讲述编写MIDlet程序时介绍。 



类文件格式 
   sun要求通过Jar(compressed Java Archive)给Java应用程序打包,这里也不例外。所以如果你想把你的MIDlet程序下载到设备上运行,你就得先用jar打包 。具体的操作方法我会在以后讲述编写MIDlet程序时介绍。 

CLDC的类库 
   如果不严格的说,CLDC的类库是J2SE的一个小的子集,有以下这种近似关系成立,即J2SE包含CDC包含CLDC。但要注意CLDC并未完全包含于J2SE,它还包括一 些专门针对无线设施的类。所以可以把CLDC的类库简要划分为两部分:从J2SE继承的类和CLDC专有的类。 
(1)从J2SE继承的类 
这部分包括三个package,即java.lang,java.util和java.io。注意即使这些从J2SE继承的的类,也是大大“缩了水”的。例如java.util的类与接口由J2SE的47个缩减到10个。另外两个也有相应缩减。 
系统类 
From java.lang:
Object, Class, Runtime, System, Thread, Runnable,
String, StringBuffer, Throwable 

数据类型类 
From java.lang:
Boolean, Byte, Short, Integer, Long, Character 

容器类(container class) 
From java.util:
Vector, Stack, Hashtable, Enumeration 

I/O 类 
From java.io:
InputStream, OutputStream, ByteArrayInputStream,
ByteArrayOutputStream, DataInput, DataOutput,
DataInputStream, DataOutputStream, Reader, Writer,
InputStreamReader, OutputStreamWriter, PrintStream 

日期与时间类 
From java.util:
Calendar, Date, TimeZone 
附加的实用类 
java.util.Random, java.lang.Math 

异常类(Exception Classes) 
From java.lang:
Exception, ClassNotFoundException,
IllegalAccessException, InstantiationException,
InterruptedException, RuntimeException,
ArithmeticException, ArrayStoreException,
ClassCastException, IllegalArgumentException,
IllegalThreadStateException, NumberFormatException,
IllegalMonitorStateException, IndexOutOfBoundsException,
ArrayIndexOutOfBoundsException,
StringIndexOutOfBoundsException,
NegativeArraySizeException, NullPointerException,
SecurityException 
From java.util:
EmptyStackException, NoSuchElementException 
From java.io:
EOFException, IOException, InterruptedException,
UnsupportedEncodingException, UTFDataFormatException 

错误类 
From java.lang:
Error, VirtualMachineError, OutOfMemoryError 

(2)CLDC专有的类 
   这里sun提供了javax.microedition.io包。用它来提供与外界沟通的桥梁。 
(注:就像在J2SE中我们利用java.net.*)注意,所有的连接都由javax. 
microedition.Connector创建。例如: 
你可以打开一个http连接通过 
Connector.open("http://www.chinajavaworld.com") 
javax.microedition.io的接口包括:
Connection, InputConnection, OutputConnection,
StreamConnection, ContentConnection, DatagramConnection,
StreamConnectionNotifier 
这里再说明一点,实际上你也可以看出,CLDC所包括的类库,并不足以开发应用程序。例如,没有UI界面的支持等。这也正是CLDC的设计理念。CLDC本身就从未想过要解决所有的问题。这些问题要靠其上层的Profile-MIDP来解决。例如 
javax.microedition.lcdui就是定义在MIDP中的UI包。 

 

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

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。