什么是CLDC
CLDC(Connected Limited Device Configuration,联网的受限设备配置)是用来开发在无线设备上运行的应用程序所要用到的一组最小的 API。CLDC 描述了所有无线移动设备所需的一个最小级别的功能集合。
对于 Java ME 平台,CLDC 为移动电话、双向寻呼机以及类似设备定义了基本配置(Java 语言、虚拟机功能和基本类库)。这些设备具有以下特性:
·总内存量为 128 KB 到 512 KB。
·具有有限电源,如电池。
·可以连接到网络。
·具有相对有限的用户界面,通常只限文本。
CLDC中类的预审核概述
J2SE 提供了字节码的审核机制用于检查类文件的完整性。该审核机制是在编译时进行的,其目的是确保类文件中不包含可能破坏系统安全的或是违反了 Java 语言规范的恶意代码。其内容主要包括:
1.所有本地变量在使用前必须初始化
2.在构造对象时,其构造函数必须在对象被使用前调用
3.每个对象的构造方法必须调用父类的构造方法(要求最先调用 java.lang.Object 的构造方法)
4.本地变量、实例和静态成员在声明时指明的对象类型必须和实际赋值的对象类型一致。例如,给一个生命成 String 类型的变量赋予Integer 类型的值是不被允许的。
类的审核机制仅仅对于外来的类文件(比如从网络上下载的),而对本地文件系统中的类的加载是不用审核的。
CLDC 和 J2SE 一样,也要求虚拟机能够辨别并拒绝非法的类文件。但由于 J2SE 中定义的标准类审核过程对于应用 CLDC的小内存消耗的类型设备来说是不现实的,因此 CLDC 专门定义了其特定的预审核机制。
在 CLDC 的预审核机制中,要下载的 Java 类文件的每一个方法都包含了一个堆栈映射属性,这个属性是 CLDC 独有的,J2SE规范中没有定义。堆栈映射的属性会通过虚拟机的预审核器添加到标准的类文件中,该预审核器会分析类中的每一个方法。堆栈映射属性通常会增加约5%的类的大小。
如图所示,当程序的源程序被编译后,必须被预审核器预审核,然后才能生成可以被下载到目标设备上运行的类文件。把一部分的审核任务放在预审核器中完成,可以使与 CLDC 兼容的虚拟机审核 Java 类文件时速度更快,并且只需要很少的虚拟机代码和动态内存,而它们的安全级别相同。因此,在 CLDC/MIDP 环境下开发程序,其程序经过编译后,必须经过审核后才能运行。
特别需要说明的是:
经过预审核的Java类文件不需要修改就可以直接运行在 J2SE 和 J2EE 环境上,这使得移植和相互调用变得非常简单。
运行时的审核机制 CLDC 把它交给了设备自己去实现。设备可以根据自身的需要在加载类或者安装应用程序的过程中执行。在运行时,虚拟机迅速地对字节码进行线性少秒,将每个有效的指令与合适的堆栈映射项目匹配。运行时的审核过程是建立在预审核机制上的,所以比预审核还要快,占用的动态内存更少。
CLDC中的类的文件格式
CLDC 要求所有第三方开发的支持 CLDC 的 Java 应用程序在公开发布时都要使用 JAR 包的格式,而且 JAR 包内的类必须是经过了预审核器审核之后的。同样的,CLDC 要求所有实现 CLDC 的虚拟机也必须能够识别和调用 JAR 包中的文件。
CLDC中的类库
CLDC 标准为了能够涵盖尽可能多的设备,其类库只包含了最小的Java 平台特性和API。 面对严格的内存限制和当前各种各样的小型设备,CLDC 不可能覆盖全部的这些设备。因此在 CLDC 的规范中,不可避免的会造成对某些设备要求过高或是对另一些设备要求又太低的现象。为了确保与其他 Java 平台的兼容性,绝大多数的CLDC 类库是从J2SE 和J2EE 中继承的, 是J2SE 和J2EE 的子集。由于目标设备的特殊性,CLDC 类库在安全、输入/输出、用户界面、 网络和存储管理等方面没有全部使用J2SE 的实现;其中的部分类库CLDC 进行了重写,如网络连接。
CLDC 的类库可以分为两种:一种是从J2SE 标准类库中继承的;另 一种是专门为CLDC 设计的(这部分类也可以被映射到J2SE 中)。
对于第一种 CLDC 类库,包括了J2SE 的3 个最核心的包java.io、java.lang 和java.util。而且这3 个包和J2SE 相比,也只是J2SE 相应包的一个很小的子集。例如java.util 的类与接口由 J2SE 中的53 个减少到10 个。
对于后一种 CLDC 类库,只有描述标准连接框架的javax.microedition.io 包,和MIDP 中定义的包一起放于javax.microedition 包中。
java.lang包
java.lang 包包含了 Java 语言API的核心部分继承下来的类,但是 CLDC 只继承了 J2SE中一半的类,而且一些类中的接口并没有完全实现。这主要表现在:
绝大部分的虚拟机不支持错误和部分异常类被去掉了。
不支持 float 和 double 数据类型及其相应的类。
ClassLoader、SecurityManager 等 CLDC规范上没有说明必须支持的类也不在此包中。
下表给出了 CLDC 的 java.lang包中的类及类继承的关系。
分享到:
相关推荐
1. **CLDC 1.1概述** - CLDC 1.1是CLDC的第二个版本,它在CLDC 1.0的基础上进行了增强,提供了更丰富的API和更好的性能优化。该版本主要是为了适应更复杂的移动应用需求,比如增强的网络功能和多媒体支持。 2. **...
**CLDC 1.1概述** CLDC 1.1是Sun Microsystems(现已被Oracle收购)为小型设备定义的基础运行环境,它定义了Java虚拟机(KVM)的最小实现以及一套核心库。CLDC 1.1相对于之前的版本,主要增加了对Unicode字符集的...
### J2ME概述 #### 一、J2ME简介 J2ME,即Java 2 Platform Micro Edition(Java 2平台微型版),是Sun Microsystems在1999年推出的一种面向消费电子和嵌入式设备的Java技术版本。随着移动通信技术和嵌入式设备的...
**第三章 CLDC编程概述** 本章主要探讨的是Connected Limited Device Configuration(CLDC)的编程基础知识,CLDC是Java 2 Micro Edition(J2ME)的一部分,专为资源有限的移动设备和嵌入式系统设计。以下是CLDC...
### J2ME技术概述 J2ME由两大部分构成:配置(Configurations)和框架(Profiles)。配置定义了运行时环境的基本特性,如内存大小和处理器能力;而框架则进一步细化了这些配置,针对特定的应用领域提供了额外的功能...
**一、CLDC概述** CLDC是Java ME平台的一个子集,旨在减少内存和处理器需求,使得Java可以在内存和处理能力有限的设备上运行。CLDC1.0a规范是其早期版本,提供了基本的类库和虚拟机(KVM,Klown Virtual Machine)...
第一章 “J2ME 技术概述”让你在学习J2ME 以前知道什么是J2ME。本章介绍了J2ME 平 台的体系结构和MIDlet 生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC 简介”介绍了MIDP 的基础Java Community ...
1. **J2ME概述**:教程首先介绍了J2ME的基本概念,包括其架构、主要组件和目标设备。J2ME由配置(Configurations)和 profiles(Profiles)组成,如CLDC(Connected Limited Device Configuration)和MIDP(Mobile ...
1. **J2ME概述**:J2ME由Java SE(标准版)和Java EE(企业版)扩展而来,提供了一套简化后的API,适合资源有限的设备使用。它分为配置(Configurations)和框架(Profiles),如MIDP(Mobile Information Device ...
一、J2ME概述 J2ME由Java ME规范定义,它提供了多种配置和框架,如MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration),以适应不同类型的移动设备。MIDP是用于开发移动...
1. **J2ME概述**:J2ME由配置(Configurations)和 profiles(Profile)组成,如基础配置CLDC(Connected Limited Device Configuration)和 MIDP(Mobile Information Device Profile),它们定义了不同设备上运行...
#### J2ME概述 **1.1 J2ME体系结构** **1.1.1 JAVA技术的版本** Java技术根据不同的应用场景分为三个主要版本: - **J2SE(Java 2 Platform, Standard Edition)**:标准版,面向桌面应用开发。 - **J2EE(Java 2 ...
**J2ME游戏开发概述** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机和平板电脑。它提供了丰富的功能,使得开发者能够构建功能丰富的应用程序,特别是游戏。...
1. **J2ME概述** J2ME由Java ME配置(Configurations)和Java ME框架(Profiles)组成。配置定义了设备的基本能力,如内存大小和处理器速度,而框架则进一步细化了设备的功能,如多媒体支持和网络连接。常见的配置...
第一章 “J2ME 技术概述”让你在学习J2ME 以前知道什么是J2ME。本章介绍了J2ME 平 台的体系结构和MIDlet 生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC 简介”介绍了MIDP 的基础Java Community ...
- `overview-summary.html`:概述文档,总结了CLDC的关键特性。 - `deprecated-list.html`:列出已废弃的API,提醒开发者避免使用。 **四、API使用** 在开发J2ME应用时,开发者会利用这些API进行以下操作: 1. **...
**J2ME开发手册概述** J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,专为资源有限的嵌入式设备和移动设备设计。它提供了开发和部署在这些设备上的应用程序框架。J2ME由一系列配置和 profiles 组成,适应...
第一章 “J2ME技术概述”让你在学习J2ME以前知道什么是J2ME。本章介绍了J2ME平台的体系结构和MIDlet生命周期的概念。为以后的内容打下良好的基础。 第二章“CLDC简介”介绍了MIDP的基础Java Community Process...
1. J2ME概述: J2ME提供了一个灵活的框架,使开发者能够为各种资源受限的设备编写可移植的应用程序。它由一组配置(Configurations)和 profiles(Profiles)组成,如基础配置(CLDC)和无线信息设备配置(MIDP),...