Pure Danger Tech


Java 7 Roundup (Mar 6th)

06 Mar 2007

This is a weekly update on new Java 7 information. All information is maintained on my Java 7 page. There seemed to be a lot more traffic last week for my longer form update, so I’ll do the same this week.

Java 7 News

Probably the best source of Java 7 news this week came from the presentation by Peter von der Ahe and Alex Buckley at EclipseCon on Java 7 features. I don’t think there was anything new in the presentation, but it was interesting to see it recast by someone new. They summarized the three themes of Java 7 as Modularity (JSR 277, JSR 294), Abstraction (closures), and Consistency (reified generics). Other items mentioned included property support, type annotations, xml literals, short creation syntax, and improved switch.

So far I’ve only seen one response to the EclipseCon talk by Neil Bartlett which mentioned they went long and didn’t have time for questions.

Java Modules (JSR 277)

Mark Reinhold posted on Linux dependency management systems and how the Java Modules (JSR 277) could take advantage of them. Tom Marble posted a collection of Java Module links that may be of interest.

Swing Application Framework

Joshua Marinacci mentioned that his talk on the Swing Application Framework (JSR 296) talk has been accepted at JavaOne.

Date and Time API (JSR 310)

John O’Conner offered to talk about issues with the current state of Date and Calendar while we contemplate what the upcoming JSR 310 will bring by way of changes. Lots of interesting comments to read.


Closures continue to be a hot topic in the Java world. Last week Stephen Colebourne posted the new FCM proposal and he followed it up this week with two posts of comparison examples across the different proposals. Also in that spirit, Elliotte Rusty Harold posted on some homework we should do before deciding on a closure spec and Neal Gafter posted a closure MouseListener example</a>. Finally, Andrew C. Oliver posted on replacing AOP with closures in some cases.

Reified Generics

There was a request on the Java 7 page comments about reified generics, and I have been remiss in not adding a section on them, so I did. Currently, generics as implemented in Java 5 use type erasure instead of reification, which means that generic type information is not available at runtime, so ArrayList is the same as ArrayList. This has some real problems in certain use cases, but had the benefit of being backwards compatible to old code. Optionally reified generics (as envisioned by [Neal Gafter](http://gafter.blogspot.com/2006/11/reified-generics-for-java.html) would allow a graceful way to start using reification (when needed) without breaking backwards compatibility. I also added some blogs from [Rémi Forax](http://weblogs.java.net/blog/forax/archive/2006/11/reified_generic.html), [Weiqi Gao](ttp://www.weiqigao.com/blog/2007/01/20/java_generics_let_the_other_shoe_drop.html), and [Peter von der Ahé](http://blogs.sun.com/ahe/entry/reification).

Miscellaneous ideas

There were a couple of posts by Noah on mixins and mixins with closures. And Bill Venners interviews Geert Bevin on continuation support in Java.