The Consumer Java Runtime Environment in Detail
On May 8th, 2007, Ethan Nicholas and Dennis Gu announced the Consumer JRE at JavaOne. Since JavaOne, a few more details have been released. In Announcing the Consumer JRE (again!), Ethan Nicholas gave an overview of some of the highlights, including a new installer, performance improvements, improved startup time and a modularized JRE. He also estimated the date by which most of these features will be available:
The Consumer JRE will be a Java 6 update release delivered in the first half of 2008.
Chet Haase followed up with an in-depth post that covers many of these same points, but in detail: Consumer JRE: Leaner, Meaner Java. He indicated that in order to aim for a rapid release, it's important that the changes for the Consumer JRE make changes that do not affect the API. He grouped the changes into these elements: Quickstarter, Java Kernel, Deployment Toolkit, Installer Improvements, Windows Graphics Performance, Nimbus Look and Feel.
On the Quickstarter, Chet Haase argued that the cold startup time (first invocation of the Java runtime environment after a reboot) is the problem with Java startup performance:
The fix, then, is for us to take advantage of the disk cache to make sure that the memory pages on disk that we must read at startup have already been loaded before we need them
When a consumer without a Java runtime environment tries to use a Java applet or application for the first time, the Java Kernel would allow them to download only those portions of the JRE that they need and then start using the applet/application while the rest of the environment downloads in the background. This could result in significant improvements to the download size:
Work is still ongoing on Java Kernel (Ethan Nicholas is madly cranking away at it), but initial results show that it is possible to cut the download size by over 60% for mid-sized Swing applications.
The deployment toolkit "is about enabling a much more powerful and ubiquitous system to run across multiple browsers and platforms, allowing developers to more automatically detect what the user has, what to do about it, and how to launch the application when Java is then installed." The graphics performance will involve using DirectX hardware-accelerated calls for more of the Swing primitives, resulting in better performance for "Swing applications simple and complex". The Nimbus look and feel provides "a more modern look for Swing applications".
Supporting Ethan Nicholas' statement that some of these feature will be available sooner than others, Chet Haase adds:
We will roll out some features as they are available, so that you don't have to wait for early 2008 to get everything here. For example, the improved installation experience should be out in update 2 of Java SE 6, which is currently set for late June.