1.What is the Java 2 Platform, Micro Edition (J2ME technology)?
The J2ME platform is targeted at consumer electronics and embedded
devices. It is comprised of a set of configurations, profiles, and
standard extensions that can be used to build complete Java runtime
environments that meet the requirements of a broad range of devices on
the market. Each combination is designed to fit specific market
requirements and device capabilities.
For more information, please refer to the J2ME overview
2.What is the Connected Limited Device Configuration (CLDC)?
The CLDC specification was developed within the Java Community
Process[sm] (JCP[sm]) program in collaboration with over 500 partners
representing the wireless handset, service provider, and point of sale
terminal industries. It outlines the most basic set of libraries and
virtual machine features that must be present in each implementation of
a Java 2 Platform, Micro Edition (J2ME[tm]) environment on
Sun provides the CLDC reference implementation (RI), which includes
the K virtual machine (KVM) via the Sun Community Source License (SCSL)
program. Sun also offers the CLDC HotSpot[tm] Implementation, which is
available to commercial licensees.
More information can be found on http://java.sun.com/products/cldc/
3.What is a profile?
In order to provide a complete runtime environment targeted at
specific device categories, configurations must be combined with a set
of higher level APIs, or profiles, that further define the application
life cycle model, the user interface, networking capabilities, and
access to device specific properties. Profiles are designed and
integrated to meet the needs of specific industry segments.
The Mobile Information Device Profile (MIDP), which is designed for
mobile phones and entry-level PDAs, is an example of a profile for
CLDC. For more information on MIDP, please visit http://java.sun.com/products/midp/
4.What are optional packages?
The J2ME platform can be further extended by combining various
optional packages with configurations and their corresponding profiles.
Created to address very specific market requirements, optional packages
offer standard APIs for using both existing and emerging technologies
such as wireless messaging, multimedia, Bluetooth, Web Services, and
database connectivity. Because optional packages are modular, device
manufacturers can include them as needed to fully leverage the features
of each device.
5.How are configurations and profiles defined?
Configurations, profiles and optional packages are defined by open
industry working groups utilizing the Java Community Process program.
In this way industries can decide for themselves what elements are
necessary to provide a complete solution targeted at their industry.
For more information on the Java Community Process program see:
6.What kinds of products is J2ME CLDC suited for?
The CLDC configuration was designed to bring the many advantages of
the Java platform to connected devices that are limited in available
resources. Targeted devices include cellular phones, pagers, mobile
point-of-sale terminals, and any other device constrained in processing
power, memory, and graphical capability.
7.What is the target device for J2ME CLDC?
- Processor:16 bit/16 MHz or higher
- Memory:160-512 KB of total memory available for the Java platform
- Power:Limited power, often battery powered operation
- Networking:Connectivity to some kind of network, usually with limited bandwidth
8.Is CLDC a virtual machine?
No. CLDC specifies the core libraries and virtual machine features
for J2ME implementations on resource-constrained devices. A CLDC
implementation includes a virtual machine. For instance, KVM is
included in the CLDC reference implementation.
9.Is a virtual machine all that's needed to run a small application?
No. A virtual machine requires a set of core libraries to run
applications. Some of these libraries are packaged as a part of a CLDC
implementation along with the virtual machine. In addition, the
capabilities of CLDC can be extended by adding profiles such as the
Mobile Information Device Profile (MIDP) and/or optional packages.
For more information on MIDP, please refer to: http://java.sun.com/products/midp/
10.How do I ship products based on CLDC?
In order to ship products based on CLDC, the CLDC implementation
must pass the Technology Compability Kit (TCK) provided by Sun. For
more information about TCK commercial licensing terms, please contact
your local Sun sales representative.
11.What is the K virtual machine (KVM)?
K virtual machine (KVM) is a Java virtual machine that provides the
basis for the CLDC reference implementation (RI). K stands for
"Kilobyte" virtual machine, referring to the small footprint of the
platform. The K virtual machine is very small -- starting from
approximately 70K in size.
For more information, please refer to the KVM Whitepaper
12.Where can I get the CLDC reference implementation?
The J2ME CLDC reference implementation (RI) is available on Sun's website at http://java.sun.com/products/cldc. The CLDC RI is a source code product that is provided for porting to various platforms.
13.What is the CLDC HotSpot Implementation?
The CLDC HotSpot[tm] Implementation is a high performance,
battery-preserving virtual machine that is compliant with the CLDC
specification. It not only offers significantly improved performance
over the KVM, but it also offers greater portability and faster time to
market. The CLDC HotSpot Implementation is suitable for devices based
on ARM microprocessors/controllers, and with 512KB to 1MB of total
memory available for the Java technology stack. The latest release of
the CLDC HotSpot Implementation is version 1.0.1.
For more information regarding the features and architecture of the CLDC HotSpot Implementation, please refer to the CLDC HotSpot Implementation White Paper
For information regarding commercial licensing terms of CLDC HotSpot
Implementation, please contact your local Sun sales representative.
14.Where can I get the CLDC HotSpot implementation?
The CLDC HotSpot Implementation is available to commercial
licensees. For more information about commercial licensing terms,
please talk to your local Sun sales representative.
15.Why does Sun offer two different CLDC implementations?
The CLDC reference implementation (RI) provides a reference design
that demonstrates how the CLDC specification can be implementated, and
validates the Technology Compability Kit (TCK) that accompanies the
specification. The CLDC RI provides a base which can be ported to
different platforms by device manufacturers. It also provides a working
environment which allows developers to test their CLDC-based
The CLDC HotSpot Implementation is an optimized implementation from
Sun which is focused on performance and footprint. Not only does it
comply with the CLDC specification, but it also includes a number of
patented features that propel faster application execution as well as
more efficient resource management. It is also supported on a number of
targeted platforms which allows manufacturers to significantly reduce
time-to-market. For more information related to the CLDC HotSpot
Implementation, please refer to the CLDC HotSpot Implementation White Paper.
16.Does the KVM or CLDC HotSpot Implementation support Real-Time capabilities?
No. Determinism or other real time capabilities are not supported in
KVM or CLDC HotSpot Implementation. These capabilities can be found in
the "Real-time Specification for Java" (JSR-1)
17.Does J2ME support wireless messaging and broadcasting?
The Wireless Messaging API (WMA), an optional package for J2ME,
provides support for Short Message Service (SMS) and Cell Broadcast
Service (CBS). WMA provides access to SMS messaging and CBS
broadcasting through a standard Java API.
More information on WMA can be found at http://java.sun.com/products/wma
18.Can applications that run on CLDC-compliant virtual machines run on other Java Virtual Machines?
Yes. CLDC-based applications can execute in other Java Virtual
Machines, provided that the required CLDC libraries, profiles, and/or
optional packages are also available.
19.How do I develop applications based on CLDC?
There are a number of tools and emulators that are available on the
market depending on the developer's needs. Developers can utilize the
CLDC reference implementation for basic CLDC development. Many
developers also utilize the J2ME Wireless Toolkit to develop
applications based on CLDC, MIDP, and other optional packages.
20.What kinds of CLDC-based devices are shipping today?
Popular CLDC-based devices that are shipping today include cellular
phones and pagers. Most of these devices also rely on MIDP to complete
the J2ME environment. For a list of current J2ME licensees please refer
to: Java Authorized Licensees of J2ME. You can also refer to the J2ME Device page for a sample of popular J2ME devices that are in the market today.