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.
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.
Specialized debugging support for the Maxine VM is provided by the Maxine Inspector: a companion tool that acts as a combined object, class, and method browser, as well as a machine-level debugger. The Inspector runs out-of-process, requires no active VM support, and leverages code shared with the VM for specialized developer services.
^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.