Jainja is a JVM (Java Virtual Machine) written in Java, focusing on portability over performance.

 It supports all bytecodes while relying on a subset of standard libraries, ensuring compatibility across diverse platforms with minimal code adaptation. Jainja is designed for non-standard platforms, making it ideal for running Java applications with minimal modifications. 

Currently supported platforms: Linux, Windows, DOS, xBSD, Minix, Haiku, HelenOS, RTEMS, Genode, Fuchsia OS, RISC OS, Java SE, Java ME, Android, Javascript (GWT, TeaVM or Emscripten), Dart, .Net  (Mono / .Net Core)

More details

You can see Jainja in action in your HTML5 browser (demo

The project is licensed under the GPL with a linking exception