JDK 7 is Feature Complete
The JDK 7 project says it has hit a major milestone, with the first feature complete build shipping in build 123. Henrik Ståhl, who is responsible for product strategy in the Java Platform Group and is an official spokesperson for Oracle on Java SE, blogged
This means that development and QA have finished all planned feature and test development work in the release and are moving the focus to testing and bug fixing on all supported JDK 7 platforms. This is a major step towards JDK 7 General Availability (GA) and implies that we are tracking close to the plan published on openjdk.java.net.
The OpenJDK website includes a complete list of features, and shows those which have been deferred over to JDK 8 or later. Mark Reinhold’s blog lists a couple of features which are outstanding, which will be integrated post the Feature Complete release. These are the updated XML Stack and the Enhanced JMX Agent and MBeans. The late integration of these features is not expected to affect the overall schedule.
"Enhanced JMX Agent and MBeans" is a recent addition to the schedule. Ported from JRockit, it is an implementation-specific enhanced JMX management agent which is intended to make it easier to connect to the platform MBean server through firewalls, together with a richer set of MBeans which expose additional information about the internal operation of the VM. This represents the first public steps in a major project to integrate features from JRockit into Hotspot, which Reinhold talked about last year.
The first important date for people wanting to get involved in testing the releases is February 17th, when the Developer Preview release, effectively a beta, is expected to be available. Beyond that Java 7 should hit general availability on the 28th July, according to the schedule, though the release could still be delayed if the Expert Groups for the JSRs included in Java SE 7 (203, 292, 334, 336) decide to introduce changes which cannot be accommodated within the existing schedule.
Support for Lambda expressions, Modularity (project Jigsaw), the Swing Application framework (JSR 296), and some smaller language enhancements from project Coin were dropped from Java 7. It is expected that some of these features will be included in Java 8, expected in late 2012.
Java is a legacy language
Moveover, Project Coin left turned down enhancements that would have been huge for me, like method and field literals, while choosing to implement a very small set of improvements of much less value.
The lack of progress in moving the Java language forward is really disappointing to me.
Going forward the only thing that I need from Oracle are updates to the Java VM, like JSR 292 (InvokeDynamic). The Java development community needs to be set free from the stagnant Java language.
Like Ted, I also think Java 7 is pretty underwhelming and represents more of a prove life than anything else. I am however looking forward to Java 8 .. which is a long time from now.