A number of intelligent information appliances (ILA) such as cell phones; two ways pagers, personal organizers, screen phones etc, now a days after internet services.

The user of these appliances can access internet to get three types of information:

1. Web content

2. Enterprise data and

3. Personal data

What is J2ME

The users of these appliances can customize these devices by downloading new applications and services from the internet.

This requires an application development platform such as Java for the easy development of applications. In order to meet the demand for information appliances, the sun micro system has enhanced the scope of the Java technology by introducing a new platform called Java 2 platform, Micro edition (J2ME).

The J2ME architecture offers modularity and scalability by having 3 layers of software built upon the Host operating system of a device namely, the Java virtual machine (JVM), configuration and profiles as shown below.

J2ME Architecture


The JVM maintains all the control aspects of the Java programming language. To run a Java program on resource constrained devices such as a cell phones or PDAs, with only a few 100 KB of total memory we can use the KVM (Kilo victual machine).

Typically KVM implementation would require about 128 kb - 256 kb including the virtual machine, the minimum Java class libraries (API’s) and some heap space for running Java applications.

J2ME Configuration

This layer defines the minimum set of JVM features and libraries that the developer can assume to be available on all information appliances.

Specifically a configuration:

1.       Defines the Java programming language features supported.

2.       Defines the JVM features supported. Also defines the basic Java libraries.

APIs support 2 standard J2ME configurations viz:

1.       Connected limited device configuration (CLDC) and

2.       Connected device configuration (CDC)

All personal, mobile, connected information devices require CLDC that includes few new classes that are not present in Java.

All shared, fixed, connected information device require CDC that includes all the features of CLDC with additional features in it, thus CDC can be considered the super set of CLDC.

Note: Only CLDC present in the configuration layer can run on top of KVM which is implemented in the JVM layer.


It is the most visible layer to users and application provider. It defines the minimum set of APIs available on a particular family of devices. Profiles are implemented "upon" a particular configuration. Applications are written "for" a particular profile and are thus portable to any device that supports that profile.

A device can support multiple profiles. The one and the only profile in existence at the current time is the MIDP, designed for cell phones and related devices.

MIDP is an acronym for Mobile information Devices Profile.

Latest Articles

Average Acceleration Calculator

Average acceleration is the object's change in speed for a specific given time period. ...

Free Fall Calculator

When an object falls into the ground due to planet's own gravitational force is known a...


In Mathematics, the permutation can be explained as the arrangement of objects in a particular order. It is an ordered...

Perimeter of Rectangle

A rectangle can be explained as a 4-sided quadrilateral which contains equal opposite sides. In a rectangle

Perimeter of Triangle

A three sided polygon which has three vertices and three angles is called a triangle. Equilateral triangle...