J2ME (Java 2 Platform, Micro Edition) is a technology that allows programmers to use the Java programming language and related tools to develop programs for mobile wireless information devices such as cellular phones and personal digital assistants (PDAs).
J2me stands for java 2 platform, mobile edition. It is the platform that targets users/customers of electronics and embedded systems. These may include cellphones and other mobile embedded devices like set top boxes.
J2ME is a new and very small Java application environment.
It is a framework for the deployment and use of java technology in the post-PC world. J2me technology provides tailored run time environment for customer and embedded electronics by the help of a virtual machine and a set of APIs.
Java ME devices implements the concept of configuration and profile.
Configuration consists of a virtual machine, classes, APIs, core libraries. It caters for a generalized runtime environment for consumer electronic and embedded devices and acts as the Java platform on the device.
There are 2 J2ME Configurations:
The CLDC provides a virtual machine and basic class libraries to support Java language applications on consumer products and embedded system devices such as communicators, mobiles, and interactive, digital television set-top boxes.
CLDC is designed for devices that have limited memory resources. Generally these devices have less than 512 KB of memory for java applications and platform and run on 16 or 32 bit CPU. For storage for the actual virtual machine and libraries, a minimum of 128KB out of 160 KB is required for it.
CLDC runs on top of the K virtual machine.
CLDC is responsible for the following issues
It has 3 types of profile:
This profile is used by devices, which require complete implementation of the Java virtual machine and entire Java Platform, Standard Edition API. It uses some subset of that API set depending on other profiles supported.
The Personal Basis Profile includes a light weight Graphic User Interface by AWT subset.
It has a more comprehensive AWT subset and adds applet support.