picoJava is a microprocessor specification dedicated to native execution of Java bytecode without the need for an interpreter or just-in-time compilation. The aim is to speed bytecode execution up by up to 20 times, compared to standard Intel CPU with a Java virtual machine.
GNU Compiler Collection has been available until version 3.2.3 as machine definition 'pj,' probably first patch was for version 2.9.GNU Binutils is still available as machine definition 'pj,' as of Binutil version 2.28. GNU Debugger was once implemented, but code might be lost. Sun Microsystems provided instruction set simulator worked with GDB as SCSL open source code.
This approach results in the fastest Java runtime performance with a small memory footprint and competitive performance on code not written in the Java language.
The picoJava specification does not include any memory or I/O interface logic, so that developers can add their own logic to customize memory and an interface.
picoJava was originally designed to be used in consumer electronic products that run Java applications.
Sun Microsystems never released a product based on this technology; however, Sun have licensed the technology to companies such as Fujitsu, NEC and Siemens. The Verilog code of picoJava was later released under SCSL open source code, but the download page is currently not available.
In 2000 Fujitsu released the J-Starter Kit, a development system featuring a picoJava Architecture processor.
The open-source version of picoJava has been implemented in an FPGA.