This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (August 2012) (Learn how and when to remove this message) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: "Maxine Virtual Machine" – news · newspapers · books · scholar · JSTOR (June 2011) (Learn how and when to remove this message) (Learn how and when to remove this message)
Maxine
Developer(s)Maxine team at University of Manchester
Stable release
2.1.1 / May 31, 2017 (2017-05-31)
Repository
Written inJava
Operating systemSolaris, Linux, Mac OS X
TypeJava Virtual Machine
LicenseGPL version 2.0
Websitegithub.com/beehive-lab/Maxine-VM

The Maxine Virtual Machine[1] is an open source virtual machine that is developed at the University of Manchester. It was previously developed by Oracle Labs[2] (formerly Sun Microsystems Laboratories). The emphasis in Maxine's architecture is on modular design and code reuse in the name of flexibility, configurability, and productivity for industrial and academic virtual machine researchers. It is one of a growing number of Java Virtual Machines written entirely in Java in a meta-circular style (for example, Squawk and Jikes RVM).

Architecture

The Maxine VM is characterized internally by aggressive use of advanced language features in Java 1.5 and 1.6, by modular subsystems coordinated through Java interfaces, and by the absence of an interpreter.

Compatibility

Maxine is plug compatible with an unmodified JDK. Maxine can be developed, built, and run in standard Java IDEs, including Netbeans, Eclipse, and IntelliJ IDEA.

Systems programming in Java

A secondary goal of the project is development of methodologies and tools for "systems programming in Java". Compiler extensions, configured in VM source code using Java annotations, permit the use, without performance penalty, of low-level operations that are not otherwise allowed in Java.

The Maxine Inspector

Specialized debugging support for the Maxine VM is provided by the Maxine Inspector:[3] a companion tool that acts as a combined object, class, and method browser, as well as a machine- and bytecode-level debugger. The Inspector runs out-of-process, requires no active VM support, and leverages code shared with the VM for specialized developer services.

History

Maxine was created by Bernd Mathiske at Sun Labs in early 2005. He led its development among a growing team until late 2008 when he left Sun and handed the project over to Doug Simon who had been the first engineer to join it. Doug Simon continued in this role throughout the acquisition of Sun by Oracle.

The Maxine inspector was created by Bernd Mathiske at Sun Labs in 2006 and further development was handed over to Michael Van De Vanter in 2007.

Oracle continued development of Maxine until the release of Maxine 2.0.[4] The University of Manchester is developing Maxine as of release 2.1.[5]

See also

References

  1. ^ Christian Wimmer, Michael Haupt, Michael L. Van De Vanter, Mick Jordan, Laurent Daynès, and Douglas Simon. 2013. Maxine: An approachable virtual machine for, and in, Java. ACM Transactions on Architecture and Code Optimization (TACO) 9, 4, Article 30 (January 2013), 24 pages.
  2. ^ "Oracle Labs - About". Labs.oracle.com. Retrieved 2017-06-25.
  3. ^ "Welcome - Oracle Community". Wikis.oracle.com. Retrieved 2017-06-25.
  4. ^ "Archived copy". Archived from the original on 2016-03-04. Retrieved 2013-09-18. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)CS1 maint: archived copy as title (link)
  5. ^ "Maxine-VM: Maxine VM: A meta-circular research VM". GitHub. 21 June 2017. Retrieved 2017-06-25.