uJ - a Java VM for microcontrollers