The Connected Limited Device Configuration (CLDC) defines the base set of application programming interfaces and a virtual machine for resource-constrained devices like mobile phones in Java ME.
The Virtual Machine installed on the phone for this configuration usually has 100-160Kb.
CLDC 1.0 did not support any form of floating point arithmetic (float or double Java types). This limitation was removed in CLDC 1.1.
Difference between CLDC 1.0 and CLDC 1.1
The list below summarizes the main differences between CLDC Specification versions 1.1 (JSR-139) and 1.0 (JSR-30):
- Floating point support.
- All floating point byte codes are supported by CLDC 1.1.
- Classes Float and Double have been added.
- Various methods have been added to the other library classes to handle floating point values.
- Weak reference support (small subset of the J2SE weak reference classes.)
- Redesigned, more J2SE-compliant Calendar/Date/TimeZone classes.
- Error handling requirements have been clarified, and one new error class, NoClassDefFoundError, has been added.
- Various minor library changes and bug fixes, such as the addition of the following fields and methods:
- Boolean.TRUE and Boolean.FALSE
- Random.nextInt(int n)
- Minimum memory budget raised from 160 to 192 kilobytes, mainly because of the added floating point functionality.
- Specification text tightened and obsolete subsections removed.
- Much more detailed verifier specification ("CLDC Byte Code Typechecker Specification") is provided as an appendix.