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.

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.