I know that there are more open source virtual machine than listed here. But Kaffe seems to be popular and is a start. See Marc Meurrens page referenced below for references to other JVMs.
The Kaffe project has developed an open source Java Virtual Machine. To quote the Kaffe Project Page:
Kaffe is a clean-room, open source implementation of a Java virtual machine and class libraries. It is also a fun project that was started by Tim Wilkinson and was made successful by the contributions of numerous people from all over the world.
On the main web page at www.japhar.org, the authors write:
Japhar is the Hungry Programmers' Java VM. It has been built from the ground up without consulting Sun's sources.
Japhar is released under the LGPL, which should make it much more attractive for companies interested in embedding an open source JVM in their proprietary/commercial products. For example, the LGPL is compatible with Netscape's NPL license, and allows Japhar to be included into Mozilla.
The major vendors like Sun, IBM, Borland and Microsoft all include JVMs with their development tools. As a result, the workstations and server platforms are pretty well covered. However, embedded systems is a promising area for Java.
The Java world is moving so fast that it is very difficult to keep track of all the new developments, much less get them all right. Remember, its just opinion written here. Any way, here again, as much for myself as for you, dear reader, is a list of commercial JVMs for embedded systems. They are listed in no particular order. I'm sure that I've missed lots of suppliers. Please send me e-mail (iank@bearcave.com) if you know of someone not on the list.
Insignia Solutons Jeode JVM
Insignia Solutions has been selling the Jeode JVM, which is "Sun authorized". This it, Insignia is a Sun licensee, rather than a clean room version of the JVM. From what I have seen of this JVM it is fast and small. It can also be configured a number of ways for different applications. The Jeode platform has been license to other OEM vendors like Bsquared, which sells development tools for embedded software targeted at hand held devices. Jeode has also been ported to some strange platforms like the Japanese ITRON chip (the ultimate in CISC instruction sets).
Charis pico Virtual Machine for controller applications
NewMonics PERC clean room JVM and Java development tool suite.
This is another JVM targeted at embedded applications. What is unusual is that NewMonics provides a suite of development tools as well. Their web pages mention a compiler, that reads Java source. However, I could not determine from what I read what this compiler generates: native code or byte code. The only real reference I could find was:
The Percolator tool is a Java source-code compiler compliant with the Java Language Specification version 1.1.
Ian Kaplan, April 8, 2000