Java Reference
In-Depth Information
Connected Device Configuration
A connected device has, at a minimum, 512KB of read-only memory (ROM), 256KB of random
access memory (RAM), and some kind of network connection. The CDC is designed for devices
like television set-top boxes, car navigation systems, and high-end PDAs. The CDC specifies
that a full JVM (as defined in the Java Virtual Machine Specification, 2nd edition) must be
supported.
CDC is developed under the Java Community Process. For more information on the CDC,
see http://java.sun.com/products/cdc/ . A Linux reference of CDC 1.0.1 implementation is
available now.
CDC 1.0.1 is the basis of the Personal Profile 1.0 stack. The Personal Profile 1.0 increases
the minimum memory requirement to 2.5MB of ROM and 1MB of RAM, and requires a robust
network plus a GUI display on a device that can support applet display.
CDC 1.1 is currently a work in progress. It will support Personal Profile 1.1 and will intro-
duce APIs to match the level of JDK 1.4.
Connected, Limited Device Configuration
CLDC is the configuration that interests us, because it encompasses mobile phones, pagers,
PDAs, and other devices of similar size. CLDC is aimed at smaller devices than those targeted
by the CDC. The name CLDC appropriately describes these devices, having limited display,
limited memory, limited CPU power, limited display size, limited input, limited battery life,
and limited network connection.
The CLDC is designed for devices with 160KB to 512KB of total memory, including a minimum
of 160KB of ROM and 32KB of RAM available for the Java platform. If you've ever watched J2SE
gobble up tens of megabytes of memory on your desktop computer, you'll appreciate the challenge
of J2ME. The “Connected” simply refers to a network connection that tends to be intermittent
and probably not very fast. (Most mobile telephones, for example, typically achieve data rates
of 9.6Kbps.) These connections also tend to be costly, typically billed by the data packets
exchanged. Between the high cost and intermittent slow network connection, applications
designed in the CLDC space should be very sparing with the use of the network connection.
The reference implementation of the CLDC is based around a small JVM called the KVM
(J2ME licensees may use this KVM or implement their own as long as it conforms to the CLDC).
Its name comes from the fact that it is a JVM whose size is measured in kilobytes rather than
megabytes. While the CLDC is a specifications document, the KVM refers to a specific piece of
software. 1 Because of its small size, the KVM can't do everything a JVM does in the J2SE world.
Native methods cannot be added at runtime. All native functionality is built into the
KVM.
The KVM only includes a subset of the standard bytecode verifier. This means that the
task of verifying classes is split between the CLDC device and some external mechanism.
This has serious security implications, as we'll discuss later.
The KVM was originally part of the Spotless system, a Sun research project. See http://www.sun.com/
research/spotless/ .
1.
Search WWH ::




Custom Search