The JDK 7 Milestone 5 builds are now available for download. This milestone introduces:
The first four of the final five (or so) small language changes from Project Coin: Improved type inference for generic instance creation (aka “diamond”), binary literals, underscores in numeric literals, and strings in switch;
An upgrade of the java.util.concurrent package from Doug Lea and company: Phasers, TransferQueues, and a fork/join framework for fine-grained parallel computation;
A new Swing component, JLayer (formerly JXLayer), for decorating compound components and intercepting subcomponent events;
An implementation of elliptic curve cryptography on all platforms, rather than just Solaris;
A new merge sort algorithm with significantly better performance, adapted from Python’s “TimSort” by Josh Bloch; and, finally,
Additional performance gains out-of-the-box now that escape analysis and compressed pointers are enabled by default in the HotSpot virtual machine.
There are, as usual, many other enhancements and fixes; the complete list is here.
Are we there yet? Our plan of record calls for this milestone to be feature-complete, but it’s not. The plan will change—I’ll have more to say about that soon.