Java ME Technology Overview

Java Platform, Micro Edition (Java ME) is a collection of technologies and specifications to create a platform that fits the requirements for mobile devices such as consumer products, embedded devices, and advanced mobile devices. It is a collection of technologies and specifications that can be combined to create a complete Java runtime environment specifically to fit the requirements of a particular device or market.


Java ME Platform Overview


Java ME technology was originally created in order to deal with the constraints associated with building applications for small devices. For this purpose Sun defined the basics for Java ME technology to fit such a limited environment and make it possible to create Java applications running on small devices with limited memory, display and power capacity.

Java ME platform is a collection of technologies and specifications that can be combined to construct a complete Java runtime environment specifically to fit the requirements of a particular device or market. This offers a flexibility and co-existence for all the players in the eco-system to seamlessly cooperate to offer the most appealing experience for the end-user.

The Java ME technology is based on three elements;

  • a configuration provides the most basic set of libraries and virtual machine capabilities for a broad range of devices,
  • a profile is a set of APIs that support a narrower range of devices, and
  • an optional package is a set of technology-specific APIs.

Over time the Java ME platform has been divided into two base configurations, one to fit small mobile devices and one to be targeted towards more capable mobile devices like smart-phones and set top boxes.

The configuration for small devices is called the Connected Limited Device Configuration (CLDC) and the more capable configuration is called the Connected Device Configuration (CDC).

The figure below represents an overview of the components of Java ME technology and how it relates to the other Java Technologies.

The Java Platform
Java ME Components

Configuration for Small Devices - The Connected Limited Device Configuration (CLDC)

Wireless Platform

The configuration targeting resource-constraint devices like mobile phones is called the Connected Limited Device Configuration (CLDC). It is specifically designed to meet the needs for a Java platform to run on devices with limited memory, processing power and graphical capabilities. On top of the different configurations Java ME platform also specifies a number of profiles defining a set of higher-level APIs that further define the application. A widely adopted example is to combine the CLDC with the Mobile Information Device Profile (MIDP) to provide a complete Java application environment for mobile phones and other devices with similar capabilities.

With the configuration and profiles the actual application then resides, using the different available APIs in the profile. For a CLDC and MIDP environment, which is typically what most mobile devices today are implemented with, a MIDlet is then created. A MIDlet is the application created by a Java ME software developer, such as a game, a business application or other mobile features. These MIDlets can be written once and run on every available device conforming with the specifications for Java ME technology. The MIDlet can reside on a repository somewhere in the ecosystem and the end user can search for a specific type of application and having it downloaded over the air to his/her device.

To learn more about CLDC please visit

Configuration for More Capable Devices and SmartPhones - The Connected Device Configuration (CDC)

Digital Media Platform

The configuration targeted larger devices with more capacity and with a network-connection, like high-end personal digital assistants, and set-top boxes, is called the Connected Device Profile (CDC). The goals of the CDC configuration is to leverage technology skills and developer tools based on the Java Platform Standard Edition (SE), and to support the feature sets of a broad range of connected devices while fitting within their resource constraints.

Looking at the benefits the CDC configuration brings to the different groups in the value-chain the following can be said:

  • Enterprises benefit from using network-based applications that extend the reach of business logic to mobile customers, partners and workers.
  • Users will benefit from the compatibility and security of Java technology.
  • Developers benefit from the safety and productivity of the Java programming language and the rich APIs in the Java platform.

On the CDC configuration there are three different defined profiles:

  • The Foundation Profile (JSR 219)
  • The Personal Basis Profile (JSR 217) and
  • The Personal Profile (JSR 216)

For each of these profiles there are in turn a set of optional packages on which the actual application runs. To learn more about CDC please visit

Java ME Platform for Converged Services


The Java ME platform covers everything from small limited devices with intermittent network connection to capable on-line mobile devices. The platform's design enables it to flexibly and efficiently support the need for services covering all mobility channels. Services are easily portable between different configurations and profiles, and the same service can be delivered via different channels.

Developer Platform for Converged Services

Back to top