Jdk6u14 has been released with following notable changes (taken from release notes).
Java HotSpot VM 14.0
6u14 includes version 14.0 of the Java HotSpot Virtual Machine, which provides improved reliability, serviceability and performance.
Contributing to increased performance in this release are numerous enhancements to HotSpot’s optimizing compiler, more efficient SoftReference processing and improvements to Parallel Compacting garbage collection. Optionally available are two new features – escape analysis and compressed object pointers. A preliminary version of the new Garbage First (G1) garbage collector is also included.
Optimization Using Escape Analysis
-XX:+DoEscapeAnalysisoption directs HotSpot to look for objects that are created and referenced by a single thread within the scope of a method compilation. Allocation is omitted for such non-escaping objects, and their fields are treated as local variables, often residing in machine registers. Synchronization on non-escaping objects is also elided.
Compressed Object Pointers
-XX:+UseCompressedOopsoption can improve performance of the 64-bit JRE when the Java object heap is less than 32 gigabytes in size. In this case, HotSpot compresses object references to 32 bits, reducing the amount of data that it must process.
Garbage First (G1) Garbage Collector
Garbage First, or G1, is a low pause, server style collector. G1’s primary advantages over the Concurrent Mark-Sweep (CMS) collector include incremental compaction, better predictability and ease of use. Although G1 is available for use in this release, note that production use of G1 is only permitted where a Java support contract has been purchased. [..].
To try G1, specify these command line options:-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
In addition, the following options can be used to affect G1’s behaviour:
- To set the max GC pause time goal in milliseconds that G1 will attempt to meet:-XX:MaxGCPauseMillis=<X>
- To set the time interval over which GC pauses totaling up to MaxGCPauseMillis may take place:-XX:GCPauseIntervalMillis=<X>
For more information about G1 (how it operates, more options, etc.) see Java HotSpot Garbage Collection.
Improvement TreeMap Iteration
6u14 includes an experimental implementation of
java.util.TreeMapthat can improve the performance of applications that iterate over TreeMaps very frequently. This implementation is used when running with the
JAX WS 2.1.6 and JAXB 2.1.10
Java VisualVM Updates
6u14 contains the following updates to Java VisualVM:
- CPU usage and GC activity graph in the Monitor tab
- Table view in the Threads tab
- Command line options: –openpid, –openjmx, –openfile
- Compare Memory Snapshots action in the context menu
- Copy To Clipboard / Save To File buttons in the About dialog
- Monitoring IBM JVM via JMX connection
- Based on NetBeans Platform 6.5 and NetBeans Profiler 6.5
- Faster computation of references, and improved readability of path to GC root in HeapWalker
- Improved integration of the Visual GC tool
Click for a list of Java VisualVM bug fixes related to this release.