JDK for Solaris Developer's Guide

Virtual Machine

Class Data Sharing

The class data sharing feature is aimed at reducing application startup time and footprint. The installation process loads a set of classes from the system jar file into a private, internal representation, then dumps that representation to a shared archive file. During subsequent JVM invocations, the shared archive is memory-mapped in, saving the cost of loading those classes and allowing much of the JVM's metadata for these classes to be shared among multiple JVM processes. For more information, refer to the documentation at http://java.sun.com/j2se/1.5.0/docs/guide/vm/class-data-sharing.html.

Garbage Collector Ergonomics

The parallel collector has been enhanced to monitor and adapt to the memory needs of the application. You can specify performance goals for applications and the JVM will tune the size of the Java heap to meet those performance goals with the smallest application footprint consistent with those goals. The goal of this adaptive policy is to eliminate the need to tune command-line options to achieve the best performance. For a synopsis of garbage collection features, refer to the documentation at http://java.sun.com/j2se/1.5.0/docs/guide/vm/gc-ergonomics.html.

Server-Class Machine Detection

At application startup, the launcher can attempt to detect whether the application is running on a server-class machine. Refer to the documentation at http://java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.html.

Thread Priority Changes

Thread priority mapping has changed somewhat allowing Java threads and native threads that do not have explicitly set priorities to compete on an equal footing. Refer to the documentation at http://java.sun.com/j2se/1.5.0/docs/guide/vm/thread-priorities.html.

Fatal Error Handling

The fatal error reporting mechanism has been enhanced to provide improved diagnostic output and reliability.

High-Precision Timing Support

The method System.nanoTime() has been added, providing access to a nanosecond-granularity time source for relative time measurements. The actual precision of the time values returned by System.nanoTime() is platform-dependent.