JamVM is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
Java Virtual Machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describ ...
(JVM) developed to be extremely small compared with other
virtual machine
In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized har ...
s (VMs) while conforming to the Java virtual machine specification version 2 (blue book).
JamVM can be configured to use the
GNU Classpath
GNU Classpath is a free software implementation of the standard class library for the Java programming language. Most classes from J2SE 1.4 and 5.0 are implemented. Classpath can thus be used to run Java-based applications. GNU Classpath is a pa ...
or the
OpenJDK
OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only ...
Java class library and recent versions support object finalization, Soft/Weak/Phantom References, the
Java Native Interface
In software design, the Java Native Interface (JNI) is a foreign function interface programming framework that enables Java code running in a Java virtual machine (JVM) to call and be called by
native applications (programs specific to a hardwa ...
(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
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mo ...
,
ARM,
x86,
MIPS,
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM ...
and
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed ...
.
The OpenJDK compatible version of JamVM is supported by
IcedTea, and IcedTea packages of JamVM are included in both
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
and
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', '' Server'', and ''Core'' for Internet of things devices and robots. All th ...
. 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. Now,
HotSpot Zero is used on armhf.
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.
See also
*
List of Java virtual machines
*
Free Java implementations
References
External links
*
*
*
Java virtual machine
Free compilers and interpreters
{{prog-lang-stub