Java Reference
In-Depth Information
which was especially designed to run on devices with significant resource constraints, just like
Star7. Thus, Oak had to be very small, efficient, and easily portable to other hardware devices.
Oak was the original ancestor of the Java programming language, which has all the properties just
mentioned. (Another byproduct of the Green Project was the Duke, which became the official Java
mascot. The Java Duke is a personification of the agent in the user interface of Star7, similar to
Microsoft's paper clip.) Star7 was finished and officially presented on September 3, 1992.
In only a few years of development, Java grew to be a leading programming language on desktop
computers. However, much of the original focus—to fit a language onto portable computers—was
lost during Java's evolution. The new Java development goal became fast execution on desktop
machines, regardless of the size of the Java Virtual Machine (JVM). In addition, the standard
libraries were extended to several megabytes for developer convenience.
But in 1998, SunLabs got back on the original track and started a new research project, the
Spotless System. The goal of the new project was to create a portable JVM that was suitable for
embedded systems.
The Spotless System
As mentioned, implementors of Java focused on increasing the speed of the JVM, leading to
memory-consuming technologies such as HotSpot. No effort was made to keep those systems
small because for desktop systems, the size was not relevant. Consequently, those Java
implementations were not suitable for embedded systems offering only a small amount of memory
and limited computing power.
This situation changed with the newly created virtual machine of the Spotless System, which was
especially designed to fit the constraints of embedded systems. This project had the following
main goals:
Build the smallest possible complete JVM that supports the full bytecode set, including
class loading and non-graphical libraries.
Implement the new JVM in highly readable source code in order to provide the best
portability to available hardware platforms.
The result of the Spotless System project was a small JVM that occupies less than 300 kilobytes of
static memory on a PC system. In order to create an implementation for a real-world embedded
device, the engineers first targeted the Rolodex REX personal organizer developed and distributed
by Franklin Electronic Publishers. However, this device lacked a development kit, so the
engineers switched to the Palm Connected Organizer as a reference platform for their JVM
implementation, where excellent support for developing software solutions is available. In
addition, the Palm PDA is the most popular PDA currently available in the market.
The original Spotless JVM implementation for the Palm PDA included only a small subset of the
class libraries available for desktop Java. As you can see in Table 1.1 , the subset is very small
even when compared to the actual J2ME configurations discussed in the section " J2ME
Configurations and Profiles . " Although the class libraries were sufficient to show feasibility of
Java development for embedded systems, they still had some major drawbacks. So the GUI
components offered by the spotless package were device-specific to the Palm Connected
Organizer.
Table 1.1. Packages and Classes of the Spotless System
Package
Name
Included Classes
java.lang C lass , Error , Exception , IndexOutOfBoundsException ,
 
Search WWH ::




Custom Search