This is a weekly update on new Java 7 information. All current and previous information is maintained on my Java 7 page.
General Discussion
There is, of course, lots of info coming out at JavaOne this week. Unfortunately, I’m not there so I don’t know what it is. :) I’m sure I’ll catch it all as the news leaks out to the web. Here’s one good summary of Danny Coward’s talk on Java SE present and future at JavaOne.
As I’ve previously noted in my blog, I gave a presentation at the St. Louis Code Camp this past Saturday on Java 7 features. You can get the PDF handout or slides if you’re interested.
I took a couple of quick polls during the talk. Near the beginning, I asked what JVM people were using and it looked like only one person was using JDK 6 yet. The rest of the audience was split fairly evenly between JDK 5 and older JDKs. I think it’s interesting (and not unexpected) that a lot of people have not made the jump to Java 5 yet. I expect that by the end of the year, most people will be updating at least to Java 5. Java 6 is a much smaller jump (no language changes) so I would expect Java 6 to follow more quickly than Java 5. But, this tells us that with Java 7 not coming out till mid-late 2008, that we won’t be seeing these features in our daily work for a long time.
I also took a quick poll on what Java 7 features people were most interested in. I saw the most hands for Java modularity (JSR 277, 294), NIO 2 (JSR 203), and closures with a smattering across the board. I don’t think I had many Swing users in the audience or that probably would have been more strongly represented.
Java Modularity (JSR 277, 294)
Andreas Sterbenz has posted a restatement of the superpackage proposal, trying to get at the core of what it provides (information hiding). Debate continues to occur on the JSR 294 mailing list about whether nested superpackages are required and/or desirable.
Swing (JSR 296, 295, 303)
At JavaOne this week, NetBeans 6 milestone 9 was released and it now has support for JSR 295 bean binding built in.
I posted an example of converting part of a small Swing app to use the Swing Application Framework (JSR 296).
JMX Web Services Connector (JSR 262)
The JMX web services connector has been released for early access use. You can read more about it from Eamonn McManus or Jean-Francois Denise.
More info: JSR 262
Closures
Stephen Colebourne made clear his choice of FCM + JCA for closures.
Henri Yandell commented on Neal Gafter’s JavaOne closures session.
More info: Closures
invokedynamic (JSR 292)
InfoQ posted an interesting article on Microsoft’s DLR and the JVM, which covers some topics related to invokedynamic and the JSR 223 scripting API.
More info: invokedynamic