J2ME CLDC and K virtual machine: Frequently Asked Questions

   
 

 

  1. What is the Java 2 Platform, Micro Edition (J2ME technology)?
  2. What is the Connected Limited Device Configuration (CLDC)?
  3. What is a profile?
  4. What are optional packages?
  5. How are configurations and profiles defined?
  6. What kinds of products is J2ME CLDC suited for?
  7. What is the target device for J2ME CLDC?
  8. Is CLDC a virtual machine?
  9. Is a virtual machine all that's needed to run a small application?
  10. How do I ship products based on CLDC?
  11. What is the K virtual machine (KVM)?
  12. Where can I get the CLDC reference implementation?
  13. What is the CLDC HotSpot Implementation?
  14. Where can I get the CLDC HotSpot implementation?
  15. Why does Sun offer two different CLDC implementations?
  16. Does the KVM or CLDC HotSpot Implementation support Real-Time capabilities?
  17. Does J2ME support wireless messaging and broadcasting?
  18. Can applications that run on CLDC-compliant virtual machines run on other Java Virtual Machines?
  19. How do I develop applications based on CLDC?
  20. What kinds of CLDC-based devices are shipping today?

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 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

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 here

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.

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: here

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 here. 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 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.

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 here

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.

Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
JavaOne Banner Java 8 banner (182)