Application-Driven Customization of an Embedded Java Virtual Machine
Abstract
Java for embedded devices is today synonym of "embeddable pseudo-Java". In order to limit their memory footprint, the embedded flavors of Java introduce incompatibilities against the standard edition, and break Java's portability rule. The application developer has to comply to specific Java APIs and incomplete runtime features. In this paper, we introduce a way to embed applications written for Java 2 Standard Edition. The applications are pre-deployed into a virtual Java execution environment, which is analyzed so that the Java virtual machine can be tailored according to the runtime needs of the system. Thus, the programmer is not enforced to comply to a particular Java environment; but conversely, the Java environment is customized according to its applications and targeted device. Experiments reveal that the customized virtual machines are comparable in size to existing static embedded Java solutions, while being more flexible and preserving Java compatibility.
Loading...