What is J2ME -----------------------------------------------------------
J2ME is designed to fit a specific edition of java on mobile devices such as PDAs, handsets, set boxes, and embedded devices in transport vehicles. Sun first introduced J2ME during the JavaOne conference in 1999. Other explorations into Java on Mobile devices before J2ME were PersonalJava and JavaPhone.
Configurations:
J2ME is divided into configurations and profiles. Configurations simply specify a
Java Virtual Machine(JVM) and a core set of APIs for a specific family of devices. There are two configurations in J2ME, CLDC and CDC.
Connected Limited Device Configuration(CLDC) :The CLDC covers those devices in the family of connection limited devices that are in the 160k to 512k memory range. Connected Limited refers to the fact that the network connection is intermittent.
The JVM for CLDC devices is called KVM with its name referring to the fact that the JVM is in kilobytes in size. This KVM is limited in that only a subset of the standard byte-code verifier is present. Native methods cannot be added at run-time.
Connected Device Configuration(CDC): The CDC covers those devices in the family of connected devices in the memory range from 512k or higher. Connected Device refers to the fact that the network connection is not intermittent but steady, ie: sockets.
The JVM for CDC devices is called the CVM with its name referring to being a network connected device.
Profiles:
Profiles add functionality to a family of devices that support through added classes and a packages in that Profile API. Profiles that are within the J2ME family at the moment are:
- MIDP-CLDC based devices
- PDAP-CLDC based devices for low end PDAs
- Foundation-CDC based devices
- Personal-CDC based contains the APIS from PersonalJava
- RMI-CDC based devices
- Personal Basis-CDC based devices
- Multimedia-CLDC and CDC based devices
- Gaming-CDC and CLDC based devices
- Telephony(WTCA)-CDC and CLDC based devices
- Information Module Profile(IMP)-CLDC based devices with limited graphics such as alarms and etc .
Not all profiles can be found on the device that you may be targeting as a developer. For example certain mobile handsets might just have the MIDP profile the CLDC configuration and the KVM.