Mika VM is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
implementation of the
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 descr ...
specification, together with class libraries which implement the
Connected Device Configuration of
Java ME
Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of porting, portable code for embedded system, embedded and mobile devices (micro-controllers, sensors, gateways, mobile phones, personal digita ...
. Mika VM is based on
Wonka VM, which was developed independently of any other implementation, including Sun Microsystem's
RI. The same is true of most of the class libraries, but in this case some code is drawn from the
GNU Classpath and
Apache Harmony projects. MikaVM support
MIDP (Mobile Information Device Profile) 1.0 and 2.0,
CDC (Connected Device Configuration) Personal Profile.
Mika VM was created by one of the original
Wonka VM developers after Acunia's demise and the acquisition of its assets by Punch International. The original intention was to create a smaller VM (a mini- or micro-Wonka, hence the name) which would be useful for example on
ARM7TDMI devices with no
MMU. In time however Mika became a full replacement for Wonka, and may be considered as its successor. Mika is based on the Wonka codebase, and is also open source under the
BSD license
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
.
Like Wonka, Mika is intended for use in embedded devices. The VM and class libraries are therefore purposely limited to the packages required by the
OSGi Execution Environment, and features introduced in Java5 or later are not supported. This results in a smaller footprint, with non-AWT versions requiring less than 2 MB of persistent storage. Supported operating systems are
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
and
uClinux (a proof-of-concept port to
eCos has also been made), and supported architectures include x86, arm, mips, and powerpc, including non-MMU variants where applicable. In principle it should be possible to build Mika for any 32-bit CPU for which a GNU toolchain is available.
See also
*
List of Java virtual machines
*
Comparison of application virtual machines
*
List of JVM languages
This list of JVM languages comprises notable computer programming languages that are used to produce computer software that runs on the Java virtual machine (JVM). Some of these languages are interpreted by a Java program, and some are compiled ...
References
{{Java Virtual Machine
Java virtual machine
Software using the BSD license