This Article 
 Bibliographic References 
 Add to: 
PicoJava: A Direct Execution Engine For Java Bytecode
October 1998 (vol. 31 no. 10)
pp. 22-30

Key to the central promise inherent in Java technology-"write once, run anywhere"-is the fact that Java programs run on the Java virtual machine, insulating them from any contact with the underlying hardware. Consequently, Java programs must execute indirectly through a translation layer built into the Java virtual machine.

Translation essentially converts Java virtual machine instructions (called byte-codes) into corresponding machine-specific binary instructions. Bytecode is a single image of a program that will execute identically (in principle) on any system equipped with a JVM.

The first step toward the development of a new class of Java processors was the creation of the bytecode execution engine itself, called the picoJava core. PicoJava directly executes Java bytecode instructions and provides hardware support for other essential functions of the JVM.

Executing bytecode instructions in hardware eliminates the need for dynamic translation, thus extending the useful range of Java bytecode programs to embedded environments. By the end of 1998, Java processors like Sun's microJava 701 should be available for evaluation from several licensees of the picoJava core technology

Harlan McGhan, Mike O'Connor, "PicoJava: A Direct Execution Engine For Java Bytecode," Computer, vol. 31, no. 10, pp. 22-30, Oct. 1998, doi:10.1109/2.722273