Java Reference
In-Depth Information
It's important to realize that the ultimate goal for Java ME is to provide an extensi-
ble yet highly portable, minimum-footprint, Java implementation that can run on a
wide variety of network devices with constant or intermittent network connectivity.
The platform emphasis is on application-level, not system-level, programming, and
the application programming interfaces (APIs) that are supported reflect this distinc-
tion. Extensibility is another distinction, especially for one flavor of Java ME: the
Connected Limited Device Configuration, which I discuss in the “Introducing
the Connected Limited Device Configuration” section later in this chapter. Extensibility
is a key differentiator between the platform, other Java platforms, and other computing
platforms as a whole.
Making Java Work on Mobile Devices
Chapter 2 looks at the changes made to Java and its base classes for Java ME in close
detail, but it's worth summarizing these changes now:
• The Java runtime must have the ability to reject invalid Java class files to ensure
system security and integrity.
• The Java runtime controls an application's access to specific parts of the system
(such as the file system, network access, and so forth).
• Applications run within a sandbox that prevents unauthorized access to other
applications and libraries.
• The environment must support the ability to download new applications, but
cannot use this mechanism to modify or override protected system classes in any
way (including changing the order in which classes are looked up).
• The platform libraries may lack specific interfaces for performance and memory
use reasons; for example, one configuration of Java ME doesn't support object
finalization, nor does it have support for the Java Abstract Window Toolkit (AWT)
or Swing user-interface libraries.
• The platform may or may not have support for floating-point mathematical
operations, depending on the version.
For brevity, I've painted this list with a broad brush; not all of these changes apply to
all flavors of Java in the Java ME family, as you'll learn in the next section and Chapter 2.
Because of the immense variety in devices supported by Java ME, there are actually
different implementations of Java for different devices. Specifically, how Java ME func-
tionality is defined for a specific device is based on three concepts:
 
Search WWH ::




Custom Search