What is Java ME?
- Java 2 Platform, Micro Edition (Java ME ™)
An environment for developing Java applications for small-scale computing devices such as mobile terminals and mobile phones that have significant memory and processing restrictions. Two configurations exist for the Java ME: the CDC and the CDLC.
- 1. VM (Virtual Machine)
The virtual machine is included in the CLDC 1.0 (JSR-30) and CLDC 1.1 (JSR-139) implementations from Sun. There are two flavors of the VM (in basic terms), one is based off of Sun's CLDC RI (for JSR-30 or JSR-139), and the other is based from CLDC-HI. The details of each are not important at this moment, only understanding that two versions exist.
A VM is also sometimes referred to as a JVM for a Java VM, although on this web-site it is always assumed that a VM is a JVM. - 2. Configuration
Defines a lowest denominator set of functionality. This includes functionality like math operations, time operations, as well as the Virtual Machine itself. JSR-30 (CLDC 1.0) and JSR-139 (CLDC 1.1) define these features for the most common version of Java on mobile phones.
- 3. Profile
Defines the high level components, such as a User Interface, as well as functionality like networking or persistent storage. JSR-37 (MIDP 1.0) and JSR-118 (MIDP 2.0) are examples of profiles, while another example is NTT DoCoMo's DoJa. More about DoJa later in the document.
- 4. Extension
A set of functionality (an API) that was defined outside the JCP. Typically, extensions have been defined by wireless operators like J-Phone in Japan (now Vodafone KK) or Sprint PCS in the US. Although can refer to a handset manufacturer's own APIs or a 3rd party company, such as Infusio.
- 5. Add-on JSR
Defines a set of functionality that can be added to a configuration and profile. An example would be 3D graphics (JSR-184) which is not included in any JCP based configuration or profile.
- Optional Package
A set of class libraries defined by the JCP to extend a configuration or profile's functionality or provide additional features.
- Technology Compatibility Kit (TCK)
A set of test programs and other tools provided by Sun Microsystems Inc. in order to verify that an implementation conforms to a given set of specifications.
- Java Community ProcessSM (JCP)
A group made up of Java users responsible for the standardization of Java; the process of such standardization; the creation of Java specifications, reference implementations and development of the TCK etc.
- Java Specification Request (JSR)
Proposals for new Java specifications or the amendments of existing ones; after JSR are submitted by members of the JCP, the specifications are formalized and following a review by JCP members and approval by the Executive Committee, are published via the Internet. In this way new Java specifications are created.
- Executive Committee
A group that supervises and guides the Java standardization process from within the JCP; formed by the election of JCP members.
There are five major components to understand related to Java ME


