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
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 resource-constrained devices.
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 here
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 here
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.
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.
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.
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.
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: here
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.
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
The J2ME CLDC reference implementation (RI) is available on Sun's website at here. The CLDC RI is a source code product that is provided for porting to various platforms.
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.
The CLDC HotSpot Implementation is available to commercial licensees. For more information about commercial licensing terms, please talk to your local Sun sales representative.
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 applications against.
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.
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)
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 here
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.
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.
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.