JavaTM and the mobile environment

This section introduces the different Java platforms and describes the mobile device oriented Java Micro Edition's role in the Java product family. This section also lists noteworthy mobile device characteristics, especially on Nokia Series 40 and Nokia S60 platforms.

Java platforms

The Java platform is available in three different editions, which serve the various capabilities of different types of devices:

  • Standard Edition (Java SE)

  • Enterprise Edition (Java EE)

  • Micro Edition (Java ME)

All editions are similar in their fundamental level and follow the general Java characteristics, such as automatic garbage collection and platform independence via virtual machine utilization. Java Micro Edition aims to offer a standard framework for developing Java applications for embedded devices, such as mobile phones, and is adapted to an environment with limited memory and other resources. Java ME shares some packages with Java SE and Java EE, which means that general Java development skills acquired in the desktop or enterprise environment are still relevant and useful in the mobile environment.

The Java ME platform has two defined subsets of libraries, called configurations: the more capable Connected Device Configuration (CDC) and the more restricted Connected Limited Device Configuration (CLDC), which is compliant with smaller memory requirements and Virtual Machine capabilities from the mobile device. CLDC implementations may have CDC-level VM functionality, such as the VM functionality of S60 3rd Edition FP2.

On top of these configurations are profiles, which concentrate even further on a specific group of devices. Mobile devices use the Mobile Information Device Profile (MIDP), which adds class libraries specific to mobile devices such as cell phones and PDAs. Any embedded system with a CLDC configuration and MIDP profile can run applications written for any other platform with corresponding libraries.

The following figure presents an overview of Java platforms.

Figure 1: Java platform editions