If you like to develop microcontroller project using AVR and Java language? then NanoVM could be good choice for your project.
The NanoVM is a java virtual machine for the Atmel AVR ATmega8 CPU. With the NanoVM, the Asuro, manufactured by AREXX engineering, can be programmed in the popular Java language using the standard Sun JDK. The NanoVM for Asuro replaces the original firmware of the Asuro with a Java virtual machine capable of running a subset of the virtual machine command set. This enables e.g. the Asuro to interpret java bytecode and to run simple java programs like e.g. this one. The NanoVM and its tools are distributed under the GPL and can be used on other AVR based systems as well.
The NanoVM is a very resource aware implementation of the java vm. The Asuro version including a boot loader and several native classes fit into the 8kBytes flash rom of the Asuros AVR ATmega8 CPU. The complete 512 Byte EEPROM space of the CPU are available as Java program space and 75% of the 1 kByte RAM space are available to the running Java program.