Es gibt keine MCUs die Java direkt ausführen können, aber es gibt
Bytecode-Interpreter:
NanoVM (http://www.mikrocontroller.net/articles/NanoVM)
Ist für den AVR. Lässt sich aber relativ leicht auch auf andere 8- oder
16-Bit MCUs, wie MSP430, 8051 etc. portieren.
Java ME (java.sun.com/javame/index.jsp)
Die Referenz-Implementation ist für Solaris und Linux, lässt sich aber
mit großem Aufwand auf große MCUs, wie den ARM9 portieren.
Da du offenbar auf Geschwindigkeit Wert legst, ist Java absolut
ungeeignet für dich. Programmier lieber in C auf einem 8-/16-Bitter
(AVR, MSP430, 8051) oder in C++ auf einem 32-Bitter (ARM7, ARM9). Duh.