Implementing Java in Internet Appliances

A core component of many Internet Appliances is the Java Virtual Machine (JVM). The desired behavior of a JVM in an embedded device goes beyond the correct execution of Java programs. The JVM must operate robustly and predictably in the face of inevitable resource restrictions while minimizing interference with other native functionality inside the device. It must adapt smoothly to properties of device features, and show optimal performance under conditions pertaining to embedded devices. The purpose of this tutorial is to help the reader evaluate JVM products by pointing out critical areas in which Java Virtual Machines may differ. We will explore the consequences of three architectural aspects of the JVM. The first aspect regards the division of labor between the Operating System (OS) and the JVM. How independent is the JVM, and what are the virtues of being independent? The second architectural aspect is configurability. To what extent is the JVM implemented as a collection of loosely coupled software components, and why would that be important? The third aspect regards the architecture of Just-In-Time compilation technology. Which technology scales best with available resources?

View Entire Paper | Previous Page | White Papers Search

If you found this page useful, bookmark and share it on: