J2ME isn't really a specific piece of software or specification. All it means is Java for small devices. Small devices range in size from pagers, mobile phones, personal digital assistants (PDAs), all the way up to things like set-top boxes that are just shy of being desktop PCs.
J2ME is divided into configurations and profiles, which provide specific information about APIs and different families of devices. A configuration is designed for a specific kind of device based on memory constraints and processor power. It usually specifies a Java Virtual Machine (JVM) that can be easily ported to devices supporting the configuration. It also specifies some subset of the Java 2 Platform, Standard Edition (J2SE™) APIs that will be used on the platform, as well as additional APIs that may be necessary.
Profiles are more specific than configurations. A profile is based on a configuration and adds APIs for user interface, persistent storage, and whatever else is necessary to develop running applications.
Currently, there is a handful of configurations and profiles under development, as illustrated in Figure 1-1.
Figure 1-1: The J2ME universe
Team-Fly |