Java Logo


 


JAVA FOR MOBILE FAQs


Red Triangle  JAVA ME, CLDC, CONFIGURATION AND PROFILES

1.What is the Java Micro Edition (Java ME technology)?

The Java ME 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 Java ME 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 (Java ME[tm]) environment on resource-constrained devices.

For more information, please refer to CLDC: JSR 139

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 MIDP: JSR 118 

4.What are optional packages?

The Java ME 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: JCP

6.What kinds of products is Java ME 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 are the minimum resource requirements for Java ME CLDC?

Any device which meets following minimum resource requirements can run Java ME CLDC.

  • Processor:16 bit/16 MHz or higher
  • Memory:At least 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 Java ME 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: 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 Oracle. For more information about TCK commercial licensing terms, please contact your local Oracle 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 Java ME CLDC reference implementation (RI) is available on Oracle's website. 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.

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 Oracle 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 Oracle sales representative.

15.Why does Oracle 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 Oracle 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 Java ME support wireless messaging and broadcasting?

The Wireless Messaging API (WMA), an optional package for Java ME, 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 Java ME 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 Java ME environment.

Left Curve
Embedded Downloads
Right Curve
Java 8 banner (182)



Java One 2014 RHS Banner

Duke's Choice RHS Banner