The Java HotSpotTM Client Virtual Machine |
Documentation Contents |
The Java HotSpot Client Virtual Machine* serves as a replacement for both the "classic" virtual machine and the Just-in-time (JIT) compilers used by previous versions of the Java 2 SDK to offer improved runtime performance for applications and applets. The Java HotSpot Client VM employs Java HotSpotTM technology to achieve its superior performance. In many ways, therefore, the new Client VM is similar to the server version of the Java HotSpot Performance Engine, which is available as a separate product. The SDK's Client VM, however, has been specially tuned to reduce application start-up time, making it particulary well suited for client environments.*As used on this web site, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform.Some features of Java HotSpot technology are the following.
More information about Java HotSpot technology can be found in the Java HotSpot Architeture white paper.
- Adaptive compiler - Applications are launched using a standard interpreter, but the code is then analyzed as it runs to detect performance bottlenecks, or "hot spots". The Java HotSpot Client VM compiles those performance-critical portions of the code for a boost in performance, while avoiding unnecessary compilation of seldom-used code (most of the program). The Client VM also uses the adaptive compiler to decide, on the fly, how best to optimize compiled code with techniques such as in-lining. The runtime analysis performed by the compiler allows it to eliminate guesswork in determining which optimizations will yield the largest performance benefit.
- Improved memory allocation and garbage collection - The Java HotSpot Client VM allocates memory for objects more quickly than the classic virtual machine. The Client VM also has a state-of-the-art garbage collector that is faster and more efficient than the garbage collector of the classic VM.
- Thread synchronization - The Java programming language allows for use of multiple, concurrent paths of program execution (called "threads"). The Java HotSpot Client VM provides a leaner, speedier thread-handling capability that is designed to scale readily for use in large, shared-memory multiprocessor servers.
The Java application launcher of the Java 2 SDK and Java 2 Runtime Environment will use Client VM by default when launching applications. The classic virtual machine may be invoked by using the -classic command-line option when launching an application or applet with the Java application launcher and Appletviewer utitilies. For more information, see
Copyright © 1999 Sun Microsystems, Inc. All Rights Reserved. Please send comments to: jdk-comments@eng.sun.com |