About Vincent Perrier

Vincent Perrier is Product Marketing Manager, Java Platforms, for the Wind River Platforms Business Unit in Alameda, CA. He can be found at http://www.windriver.com
Benefits of using Java Development for Embedded Computing, part 2

Executing Code from ROM
Desktop JVMs usually can’t execute Java code directly from ROM. Normally, Java classes are first loaded into RAM, verified, and then executed by the JVM.

Benefits of using Java Development for Embedded Computing
· 2

This is the first in a two-part series on the benefits of using the Java development and runtime environment for embedded computing. Java, with its “write once, run anywhere” paradigm, is ideal for embedded computing because of its portability, reliability, security, and Internet capabilities. However, Java can present some challenges for embedded-systems developers.

Measuring Application Performance

When considering a benchmark to determine the overall performance of a Java application, bear in mind that bytecode execution, native code execution, and graphics each play a role. Their impact varies depending on the nature of the specific application: what the application does, how much of it is bytecode versus native code, and how much use it makes of graphics. How well a JVM will perform for a given application depends on how the unique mix of these three functional areas maps onto its capabilities. Given these variables, the best way to benchmark a JVM is against your own application. Since thats not possible before the application has been written, you must find those benchmarks that are most relevant to the application you intend to write.

Getting a handle on Java Performance

Java’s strong appeal for embedded applications is sometimes offset by concerns about its speed and its memory requirements. However, there are techniques that you can use to boost Java performance and reduce memory needs, and of course the Java virtual machine you choose affects Java performance, too. You can make better-informed decisions about using Java by understanding the factors that affect its performance and selecting meaningful benchmarks for embedded applications.