j2me的基本介绍⑶
4。深入了解CLDC
本节部分内容翻译自J2ME白皮书,比较枯燥,但请记住,毕竟正确的理念比什么都重要。
CLDC
的目的是为小型的、有限的和互联的设备定义一个标准的Java平台。
允许向这些设备动态发布内容和应用程序。
方便第三方软件厂商和开发者将内容和应用移植到这些设备上。
CLDC的范围
Java语言和虚拟机的特点
核心Java类库(如java.lang. *、java.util. *)
输入/输出
]
CLDC未涉及的范围(即由MIDP解决)
应用生命周期的管理(即应用如何安装、运行和删除)
UI界面
事件处理
高级应用
CLDC的安全性
基于低端虚拟机的安全性是通过下载时类文件的验证步骤来保证的。(如果你编写编译过MIDlet程序,就知道这一步是必须的。这里有个概念,以后讲如何创建MIDlet程序的时候我会详细讲解具体步骤)。
基于应用的安全保证每个应用运行在相对独立的封闭环境中,受保护系统包中的类不能被应用重写。
对于Java语言支持的特殊方面
CLDC在一般情况下是完全兼容Java语言的,但需要注意以下几点:
不支持浮点数据类型(即没有float和double)(这其实主要是由于CLDC面对的设备,硬件出于内存限制或安全考虑不支持浮点运算)
不支持类实例的终结化,即没有Object.finalize()方法。(注意:finalization是指java中提供的另一种对象清理方法,与垃圾回收不同。参见侯杰译的布鲁斯·埃凯尔的《用Java思考》第二版,可以从www.jjhou.com下载。
有限的错误处理,即不支持Java.lang.Error的大部分子类。相反,CLDC包含了相当完整的异常类。
至于Java虚拟机支持的特殊方面
,CLDC在其严格的内存限制下,实现了与Java虚拟机相当程度的兼容。但是,有以下不同之处。
…不支持浮点数据类型(无float和double)
…不支持JNI(Java原生接口)
…不支持用户定义的Java类装入器
…没有反射。特性(注:反射是指java通过java.lang.reflect提供的函数,可以分析一个类的能力。常用于检查类的结构,并广泛应用于JavaBeans上。参见加里康奈尔的Core Java2 volumeI,II,机器有中文翻译)
。不支持线程组或守护程序线程
。不支持类实例的终结
。没有弱引用(注意:弱引用提供了一个解决方案。是在Java2中引入的。请参考java.lang.ref API
文档以及sun网站上关于引用对象和垃圾收集的文章。)
有限的错误处理
0条评论