High-performance processors can interpret Java virtual-machine (JVM) bytecodes faster, or compile them to native code more quickly, than the average processor. However, there are a number of reasons for executing Java bytecodes in hardware. It can reduce the memory footprint and increase performance.
Handling Java in hardware is typically done in one of three ways: adding hardware to an existing processor core, building a Java-specific processor, or using a coprocessor. Most embedded-processor vendors now have Java hardware acceleration as an option. For example, Arm's Jazelle technology translates Java bytecodes into ARM instructions that use the main processor's registers and resources.
Ajile Systems is just one of many companies offering a Java processor product. In addition to a processor core, Ajile has the aJ-80 and aJ-100 processor chips. These provide dedicated, real-time Java execution, including garbage collection.
Coprocessors come in a variety of forms, but Nazomi's low-power, JA-108 takes a novel approach. It's designed to fit between a conventional processor and its SRAM. The JA-108 looks like SRAM, yet it executes Java applications from SRAM in parallel with applications on the host processor that must also handle all I/O.
Of course, all these approaches offer the same advantages. Each platform has the same underlying Java bytecodes.