Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
The VM is implemented from scratch and designed to be both fast and small.
The class library is designed to be as loosely-coupled as possible, allowing tools like ProGuard to aggressively isolate the minimum code needed for an application. This translates to smaller downloads and faster startup.
Platform-specific code is hidden behind a generic interface, so adding support for new OSes is easy. Avian currently supports Linux (i386 and x86_64), Windows (i386 and x86_64), and OS X (i386, x86_64, and PowerPC), with more to come.
The only third-party dependency beyond OS-provided libraries is zlib, which is itself very portable. Although the VM is written in C++, it does not depend on the C++ standard library, and is therefore robust in the face of ABI changes.
Not only can applications embed the VM, but the VM itself supports class and resource loading from embedded jar files. This means you can produce a single executable containing your entire application, thus simplifying the installation process.