JamVM is an open-source Java Virtual Machine (JVM) developed to be extremely small compared with other virtual machines (VMs) while conforming to the Java virtual machine specification version 2 (blue book).

Developer(s)Robert Lougher
Stable release
2.0.0 / July 30, 2014 (2014-07-30)
Written inC and Java
Operating systemCross-platform
TypeJava Virtual Machine
LicenseGNU General Public License

JamVM can be configured to use the GNU Classpath or the OpenJDK Java class library and recent versions support object finalization, Soft/Weak/Phantom References, the Java Native Interface (JNI) and the Reflection API. The compacting garbage collector can run either synchronously or asynchronously within its own thread.

JamVM currently supports the CPUs: AMD64, ARM, x86, MIPS, PowerPC and SPARC.

The OpenJDK compatible version of JamVM is supported by IcedTea, and IcedTea packages of JamVM are included in both Debian and Ubuntu. This enables JamVM to be installed as an alternative Java Virtual Machine to hotspot when using OpenJDK. When using Ubuntu on ARM, JamVM was the default VM.[1] Now, HotSpot Zero is used on armhf.[2]

In 2006, JamVM was used by Google's Android team during development of the application framework. The eventual Android successor, Dalvik, was under development at this time, and at the start of 2007 the two were interchangeable. A few months later, Dalvik was established as the primary Android virtual machine and JamVM was disabled.[3]

See also


  1. "6b23~pre4-0ubuntu1 : openjdk-6 package : Ubuntu". Launchpad.net. Retrieved 2016-09-26.
  2. "openjdk-7-jre : armhf : Raring (13.04) : Ubuntu". Launchpad.net. Retrieved 2016-09-26.
  3. "Trial Exhibit 294" (PDF). Groklaw.net. Retrieved 2016-09-26.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.