Pure Danger Tech


Java 7 Prediction Update

02 Aug 2008

I just realized due to a forum thread that it’s been about 7 months since I posted my Java 7 Predictions. So, it seems like a good time to update those predictions.

At the time I was expecting that the Java SE 7 JSR would be created before JavaOne 2008 but obviously that didn’t happen and we’re still waiting for the JSR. Waiting on what, I’m not really sure. I know the open source effort and subsequent JavaFX in Java 6 work has been soaking up a lot of focus, but seems like it’s still a bit late. Maybe it’s on vacation for the summer.

Anyhow, I’m going to organize this a bit differently this time by putting stuff in three categories – Likely, Possible, and Unlikely. As always, these are my own opinions based on stuff I’ve read although I talk to various spec leads and members occasionally, you should trust this about as much as anything you read on the net. Also, these don’t reflect what I’d like to see, just what I think is most likely.


Feature Chance Comment
JSR 294 Superpackages 95% Sun’s going to push this in
JSR 277 Java Modules 95% ditto above
JSR 203 NIO 2 99% Solid.
JSR 310 Date and Time 95% Very good shape
JSR 166 Concurrency Utils 95% fork/join plus some additions
JSR 225 XQuery API for Java 90% Pretty far advanced
JSR 296 Swing App Framework 90% Interrupted due to spec lead’s departure but I think it will get picked up again
JSR 295 Beans Binding 95% Looking good, responded well to early criticism
JSR 303 Beans Validation 90% Has solidified since last predictions
Java Media Components 80% Partially done in JDK 6 update
JSR 255 JMX 2.0 99% Ready
JSR 262 Web Services Connector for JMX 99% Available now
JSR 308 Type Annotations 80% Prototype available now
Strings in switch 70% Easy and useful
Comparisons for Enum 80% Useful extension of enums
Improved catch 80% Seems to have a lot of support
JSR 292 invokedynamic 95% Likely to be some changes to better support dynamic languages
Tiered compilation 70% Work on this seems active enough that there will be some updates in this area, although it’s difficult to tell exactly what that will mean.
G1 garbage collector 90% Far along


Feature Chance Comment
JSR 275 Units and Quantities 60% Well defined, but I’m not sure this will be included in the actual JDK
JSR 284 Resource Consumption Management 50% Hard to judge this one – there is a proposed final spec and seemingly interested support from major players, but not too much info out there.
JSR 326 Post Mortem JVM Diagnostics API 40% Depends on timing, just starting now so would depend on JSR moving fast and Java 7 moving slow
Type Literals 40% I think some useful class or reflective helper will be added as a small stopgap to no reified generics.
Type Inference 40% Possible but hard to tell


Feature Chance Comment
JSR 107 Cache API 0% Hard to find anyone that cares
JSR 260 Javadoc Update 5% Totally undefined
Reified Generics 5% Highly unlikely at this point
Closures 20% Still seems possible, but I don’t think any major language changes like this are going to be included
ARM Blocks 10% Seems unlikely
XML Support 0% Not a chance
Property support 5% Nobody pushing this much anymore
BigDecimal operator support 5% Lots of interest, but apparently would introduce compatibility issues
Chained invocations 20% Seems unlikely at this point
Extension methods 20% Motivation low without closures

If you’re interested in watching the Java 7 space, check out my Java 7 link blog (RSS).