J2ME中文教程 2 CLDC简介[7]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

47)  f2f

48)   

49)  dload

50)  d2i

51)  fload

52)  f2i

53)   

54)  dload_x

55)  d2l

56)  fload_x

57)  f2l

58)   

CLDC不支持的浮点数据类型

 

对于CLDC的应用,Sun使用了和J2SE相同的编译器,这使得使用浮点数据的类及对象在编译的时候可以正常通过。因此Sun引入了类审核机制来阻止未经定义的类调入虚拟机。

 

2不支持JNI (the Java Native Interface )

CLDC不提供native code的支持,除了因为设备内存有限外,还出于安全性的考虑。因为CLDC中缺少完整的安全性模型,禁用了这些J2SE的特性可以使潜在的安全风险降到最低。

 

3不支持以及用户自定义的Java级的类载入器(class loaders)

CLDC不允许用户自定义类载入器。按照CLDC规范的要求,类的载入是不能被覆盖、替换和修改的。和JNI类似,这些是出于安全方面的一些考虑。

 

4不支持反射(reflection)

不支持java.lang.reflect包以及java.lang.Class中和reflection有关的函数。其目的主要是节省内存占用。

 

5不支持线程组thread groups或守护线程daemon threads

CLDC提供了对线程的支持,也支持多线程,但是线程组和守护线程是不被允许的。每个线程都要生成独立的Thread对象来实现。如果应用程序想实现对一组线程的操作,则必须在应用程序的级别上自行实现多个Thread对象的控制,如使用HashtableVector来存取多个Thread对象。

 

6不支持类实例(class instance)的终结(finalization

CLDC类库不包含java.lang.Object.finalize()方法,因此类对象的终结是不支持的。对于应用CLDC的设备来说,对象终结相对于它所起的作用来说实现起来过于复杂,并不被需要。

 

7不支持弱引用weak references

 

8有限的错误处理error handling

J2SE中定义了大量的类用来描述各种错误和异常CLDC仅仅包含有限的几个J2SE的核心类库因此大部分java.lang.Error的子类都未被支持这包括异步异常。这是因为在嵌入式系统中,应用程序并不期望获得设备的出错处理机制;定义和运行出错处理需要较大的虚拟机的开销,而这些出错的代码信息对于连用户界面都没有的有限连接设备来说是没有用处的。

本文关键:J2ME中文教程 2 CLDC简介
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top