CLDC
   HOME

TheInfoList



OR:

The Connected Limited Device Configuration (CLDC) is a specification of a
framework A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of. Framework may refer to: Computing * Application framework, used to implement the structure of an application for an op ...
for
Java ME Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of porting, portable code for embedded system, embedded and mobile devices (micro-controllers, sensors, gateways, mobile phones, personal digita ...
applications describing the basic set of libraries and virtual-machine features that must be present in an implementation. The CLDC is combined with one or more profiles to give developers a platform for building applications on embedded devices with very limited resources such as pagers and
mobile phone A mobile phone or cell phone is a portable telephone that allows users to make and receive calls over a radio frequency link while moving within a designated telephone service area, unlike fixed-location phones ( landline phones). This rad ...
s.CLDC Overview http://java.sun.com/javame/technology/cldc/overview.jsp The CLDC was developed under the
Java Community Process The Java Community Process (JCP), established in 1998, is a formal mechanism that enables interested parties to develop standard technical specifications for Java technology. Becoming a member of the JCP requires solid knowledge of the Java program ...
as JSR 30JSR 30, CLDC 1.0 http://www.jcp.org/en/jsr/detail?id=30 (CLDC 1.0) and JSR 139JSR 139, CLDC 1.1 http://www.jcp.org/en/jsr/detail?id=139 (CLDC 1.1).


Typical requirements

CLDC is designed for devices that have limited processing power, memory, and graphical capability. Devices typically have the following features: * 16-
bit The bit is the most basic unit of information in computing and digital communication. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented as ...
or 32-bit
CPU A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
with a clock speed of 16 
MHz The hertz (symbol: Hz) is the unit of frequency in the International System of Units (SI), often described as being equivalent to one event (or cycle) per second. The hertz is an SI derived unit whose formal expression in terms of SI base u ...
or higher * At least 160  KB
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
allocated for the CLDC libraries and virtual machine * At least 8  KB total
RAM Ram, ram, or RAM most commonly refers to: * A male sheep * Random-access memory, computer memory * Ram Trucks, US, since 2009 ** List of vehicles named Dodge Ram, trucks and vans ** Ram Pickup, produced by Ram Trucks Ram, ram, or RAM may also ref ...
available to the
Java platform Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms fr ...
* Low power consumption, often operating on battery power * Connectivity to some kind of network, often with a wireless, intermittent connection and limited bandwidth


Noteworthy limitations

Compared to the
Java SE Java Platform, Standard Edition (Java SE) is a computing platform for development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE). The platform uses th ...
environment, several APIs are absent entirely, and some APIs are altered such that code requires explicit changes to support CLDC. In particular, certain changes are not just the absence of classes or interfaces, but actually change the signatures of existing classes in the base class library. An example of this is the absence of the Serializable interface, which does not appear in the base class library due to restrictions on reflection usage. All java.lang.* classes which normally implement Serializable do not, therefore, implement this tagging interface. Other examples of limitations depend on the version being used, as some features were re-introduced with version 1.1 of CLDC.


CLDC 1.0 and 1.1

* The Serializable interface is not supported. * Parts of the reflection capabilities of the Java standard edition: ** The java.lang.reflect
/code> package and any of its classes not supported. ** Methods on java.lang.Class
/code> which obtain Constructors or Methods or Fields. * No finalization. CLDC does not include the Object.finalize() method. * Limited error handling. Non-runtime errors are handled by terminating the application or resetting the device. * No user-defined class loaders * No thread groups or daemon threads.


Profiles

A profile is a set of APIs that support devices with different capabilities and resources within the CLDC framework to provide a complete Java application environment. There are specific profiles for devices ranging from vending machines to set-top boxes, with the mobile phone profile
MIDP Mobile Information Device Profile (MIDP) is a specification published for the use of Java on embedded devices such as mobile phones and PDAs. MIDP is part of the Java Platform, Micro Edition (Java ME) framework and sits on top of Connected Lim ...
being the most prevalent.Summary of CLDC-Based Profiles http://developers.sun.com/mobility/midp/ttips/cldc/


Mobile Information Device Profile

The
Mobile Information Device Profile Mobile Information Device Profile (MIDP) is a specification published for the use of Java on embedded devices such as mobile phones and PDAs. MIDP is part of the Java Platform, Micro Edition (Java ME) framework and sits on top of Connected Lim ...
is a profile designed for cell phones. There are two versions of MIDP available, specified in JSR 37JSR 37, MIDP 1.0 http://www.jcp.org/en/jsr/detail?id=37 (MIDP 1.0) and JSR 118JSR 118, MIDP 2.0 http://www.jcp.org/en/jsr/detail?id=118 (MIDP 2.0). Both versions provide an
LCD A liquid-crystal display (LCD) is a flat-panel display or other electronically modulated optical device that uses the light-modulating properties of liquid crystals combined with polarizers to display information. Liquid crystals do not em ...
oriented GUI API, with
MIDP 2.0 Mobile Information Device Profile (MIDP) is a specification published for the use of Java on embedded devices such as mobile phones and PDAs. MIDP is part of the Java Platform, Micro Edition (Java ME) framework and sits on top of Connected Lim ...
including a basic 2D gaming API. Applications written to use this profile are called MIDlets. Many cell phones come with a MIDP implementation, and it is a popular platform for downloadable cell phone games.pocketgamer.co.uk mobile platforms feature http://www.pocketgamer.co.uk/r/Mobile/feature.asp?c=1266


Information Module Profile

The Information Module Profile is specified in JSR 195JSR 195, Information Module Profile http://www.jcp.org/en/jsr/detail?id=195 and is designed for
vending machine A vending machine is an automated machine that dispenses items such as snacks, beverages, cigarettes, and lottery tickets to consumers after cash, a credit card, or other forms of payment are inserted into the machine or payment is otherwise m ...
s, network cards, routers, telephone boxes and other systems with either simple or no display and some form of limited two way network access. Only APIs for application creation, storage, and network access are defined. These are a subset of the javax.microedition.io, rms and midlet packages in MIDP. Siemens Mobile and
Nokia Nokia Corporation is a Finnish multinational corporation, multinational telecommunications industry, telecommunications, technology company, information technology, and consumer electronics corporation, originally established as a pulp mill in 1 ...
put forward this specification to the JCP.


DoJa Profile

The
DoJa Doja may refer to: Music * Doja Cat, American rapper and singer * "Doja" (Snot and ASAP Rocky song), 2022 * "Doja" (Central Cee song), 2022 Other * DoJa, a Java application environment specification See also * Dojo A is a hall ...
profile was designed for the
i-mode i-mode (, ) is a Japanese mobile internet (distinct from wireless internet) service operated by NTT DoCoMo. Unlike Wireless Application Protocols, i-mode encompasses a wider variety of internet standards, including web access, e-mail, and ...
mobile phone by NTT DoCoMo.


Digital Set Top Box Profile

The Digital Set Top Box profile, specified in JSR 242,JSR 242, Digital Set Top Box Profile http://www.jcp.org/en/jsr/detail?id=242 is designed for the cable market. Also referred to as OnRamp, this profile is based on a subset of the
OpenCable Application Platform The OpenCable Application Platform, or OCAP, is an operating system layer designed for consumer electronics that connect to a cable television system, the Java-based middleware portion of the platform. Unlike operating systems on a personal comput ...
(''OCAP''), which defines a set of APIs for the development of applications for set-top boxes and similar devices. The profile consists of subsets from the CDC Personal Basis Profile including support for AWT,
Xlet An Xlet is very similar to a Java applet and is originally introduced in Sun Microsystems's Java TV specification to support applications for Digital TV. Though Xlet looks superficially different from other application models in Java such as applet ...
, file access, and network APIs, as well as several media-related interfaces from OCAP. The whole profile encompassed 31 Java packages and approximately 1500 APIs.


Optional Packages

The PDA Optional Packages are specified in
JSR-75 PDA Optional Packages for the J2ME Platform JSR 75 is a specification that standardizes access in the Java on embedded devices such as mobile phone A mobile phone or cell phone is a portable telephone that allows users to make and receive ...
JSR 75, PDA Optional Packages http://www.jcp.org/en/jsr/detail?id=75 and are designed for PDAs such as
Palm Palm most commonly refers to: * Palm of the hand, the central region of the front of the hand * Palm plants, of family Arecaceae ** List of Arecaceae genera **Palm oil * Several other plants known as "palm" Palm or Palms may also refer to: Music ...
or
Windows CE Windows CE, later known as Windows Embedded CE and Windows Embedded Compact, is a discontinued operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family and served as the software foun ...
devices. The specification defines two independent packages that represent important features found on many PDAs and other mobile devices. These packages are: * Personal Information Management (PIM) which gives devices access to personal information management data contained in address books, calendars, and to-do lists. * FileConnection (FC) which allows access to file systems and removable storage devices, such as external memory cards.


General APIs

; java.io
/code>: A streamlined version of the java.io package found in the standard edition for doing Input/Output operations. ;
/code>: Contains classes that are essential to the Java language. This package contains standard java types like Integers and Strings as well as basic exceptions, math functions, system functions, threading and security functions. ;
/code>: A streamlined version of the java.util collection library. This package contains the collection classes like
Vector Vector most often refers to: * Euclidean vector, a quantity with a magnitude and a direction * Disease vector, an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematics a ...
and
Hashtable In computer science, a hash table is a data structure that implements an associative array, also called a dictionary or simply map; an associative array is an abstract data type that maps keys to values. A hash table uses a hash function to ...
. It also contains calendar and date class.


See also

*
Connected Device Configuration The Connected Device Configuration (CDC) is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation. The CDC is combined with one or more ...
or ''CDC'', another framework for building Java ME applications


References

{{Reflist


External links


CLDC homepage

ESR Consortium

OSGi-based CLDC-framework
Java device platform Java specification requests