This is a weekly update on new Java 7 information. All current and previous information is maintained on my Java 7 page.
It’s been a relatively light week this week, so this is sort of a diet roundup…. :)
Modularity
After all the fuss last week about JSR 277, the attention of the 277 mailing list turned to a fascinating project called iJAM. This paper lays out the key stuff about the project. They’ve actually done some formal analysis of the dependency loading mechanisms in JSR 277 and implemented an alternative that adds a couple additional mechanisms. This is really interesting work and exactly the kind of analysis that needs to be done on JSR 277 now before it’s too late to change. There has been a lot of discussion on the mailing list about the project and it seems to be getting some respect.
More info: JSR 277
Libraries
In JSR 310, the Date and Time API, Stephen Colebourne has provided another update of the API which breaks out the durations into another package. This prompted a reply from Jean-Marie Dautelle, the spec lead for JSR 275 Units and Quantities API, which also has concepts of Duration, calling for a reuse of JSR 275. This is kind of a tricky issue as right now it is unknown what will be included in Java 7. JSR 310 could make use of JSR 275 but it’s unclear whether both (or either) will actually be included and tying them together makes the whole process more complicated. The down-side here is that this could result in two (possibly incompatible) concepts of Duration included in the JDK at some point. Fortunately, Stephen and Jean-Marie are both excellent and gracious spec leads so I believe things will ultimately be resolved harmoniously.
Language Proposals
Chaotic Java has been on a tear the last few days with several interesting Java language posts. First up, he blogged about a couple proposals to indicate whether nulls are accepted, and then took on sending events using closures, and C# delegates vs Java closures. All good and interesting stuff worthy of your attention.
More info: Closures