Version 6 of Sun Microsystems’ Java HotSpot™ Virtual Machine, which includes several research results of the last years, improves the performance of Java applications significantly while guaranteeing the same high quality standards as usual. Additionally, the source code of the VM was recently released as part of the OpenJDK project that provides an open-source implementation of Java.
This talk starts with the internal structure of the Java HotSpot™ VM and the dependencies of the different subsystems, e.g. class loader, interpreter, garbage collector and just-in-time compiler. Two subsystems that were improved significantly in the latest release for Java 6 are presented in more detail: The improved object locking ensures that Java applications scale on modern multi-core systems. The redesigned client just-in-time compiler improves both the startup time and the peak performance of desktop applications. Understanding the behavior of the latest optimizations allows a Java developer to build high-performance applications without premature optimizations of the source code. The talk closes with a survey of research projects that are based on the Java HotSpot™ VM and that focus on adaptive optimizations for object-oriented applications.