InfoQ

News

Sun Releases Java 6 Update 18 With Significant Performance Improvements and Windows 7 Support

Posted by Charles Humble on Jan 20, 2010

Community
Java
Topics
Performance & Scalability ,
Platforms
Tags
Java SE ,
GarbageCollection ,
Windows7 ,
JavaFX

Sun have released Java 7 update 18 with a strong emphasis on performance improvements, including a new version of Hotspot (16.0), start-up improvements and run-time improvements for UI applications. The release also includes support for Ubuntu 8.04, Red Hat Enterprise Linux 5.3 and Windows 7, along with an impressive 357 bug fixes.

Of particular interest to enterprise developers are the improvements to the garbage collectors that have been brought forward from Java 7. The Garbage First (G1) garbage collector (no longer tagged as experimental in OpenJDK 7) gains improved reliability and performance, and the Parallel Scavenger garbage collector gets the inclusion of Improved NUMA (Non Uniform Memory Access) Support. Most modern computers are based on NUMA architecture, in which it takes different amounts of time to access different parts of memory. In the Java HotSpot VM, the NUMA-aware allocator has been implemented to provide automatic memory placement optimisations for Java applications. Typically, every processor in the system has a local memory that provides low access latency and high bandwidth, and remote memory that is considerably slower to access. The NUMA-aware allocator is implemented for Solaris (>= 9u2) and Linux (kernel >= 2.6.19, glibc >= 2.6.1) operating systems, and can be turned on for the Parallel Scavenger garbage collector with the -XX:+UseNUMA flag. Parallel Scavenger remains the default for a server-class machine and can also be turned on explicitly by specifying the -XX:+UseParallelGC option. The impact of the change is significant: When evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron machine, NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) increase in performance.

Other Hotspot changes in update 18 include code generation improvements, such as the optimisation of common string concatenation patterns and the removal of needless conversions between integer primitive types, plus new options to request a heap dump or class histogram before or after a full garbage collection. Unfortunately escape analysis-based optimisation, which was enabled in update 14, has been disabled again in update 18 to be re-instated at some future date.

Sun's continued focus on the desktop and RIA markets sees a number of improvements to the performance of desktop applications and Web Start - amongst them:

  • More garbage collection improvements, including new default java heap configuration in client and server VMs.
  • Classloading optimisations for faster startup.
  • Application start-up changes include savings of around 100-200ms on systems where Direct 3D is used.
  • Revised support for pre-verification of FX runtime, which can speed up warm start of a JavaFX application by up to 15%.
  • Concurrent download of jars for Web Start applications and applets.
  • Java Web Start updated to implement JSR-056 version 6.0.18 and gets a number of key bug fixes (6888118, 6800992, 6863499)

Other changes in update 18 include:

  • A 20% reduction in the amount of time needed to create jar files.
  • JavaDB has been updated to version 10.5.3
  • VisualVM has been updated to 1.2.1
  • Minor updates to StaX (Streaming API for XML).

There are no security related fixes in this release, but the next security-related update is expected this quarter.

No comments

Watch Thread Reply

Educational Content

Evolving the Key/Value Programming Model to a Higher Level

Billy Newport discusses the ways that developers interact with key/value stores, entity vs column-oriented approaches, sync vs async operations, large data sets, and collocating closures and data.

mySOA: Agile, Governed and Sustainable

William El Kaim, Lead Architect at Carlson Wagonlit, details all the choices he and his colleagues have made while building their organization's Service Oriented Architecture.

Lean Thinking: What is Distinctive About It and Where is It Going?

The question of where lean came from and how it has developed into a complete business system is addressed.

Jeff Patton on Lean Product Discovery

The most difficult part isn't delivery, but the discovery of products that are truly valuable to the people that use them. Jeff Patton explores applying Lean thinking to product discovery.

Overview of the Spring 3.0 Web Stack

Keith Donald discusses the Spring 3.0 web stack, key features, demos of Spring MVC, REST support, automatic data conversion, data binding and validation, and the roadmap for the Spring web stack.

Google Go: A Primer

Google recently announced their new programming language, Go. This primer will help explain the intricacies and structure of the Go language for those who are interested in learning more about it.

Mike Cottmeyer on the Agile PMP

Mike tackles the assumptions behind traditional project management and explore a more agile approach to managing time, cost, and scope.

Book Excerpt: Succeeding with Agile: Software Development Using Scrum

Chapter 8, "How Agile Changes Traditional Project Roles", from Mike Cohn's new book "Succeeding with Agile: Software Development Using Scrum".