NanoVM is a tiny (less than 8 kB of code including simple native classes and a bootloader) implementation of the Java VM. NanoVM project currently runs on Linux and the AVR microcontroller family.

Unix/Linux is supported as the main development and testing platform, whereas the VM is primarily intended to be used on tiny embedded devices such as the AVR. The VM can very easily be ported for other targets.