What Java 7 will mean to you


I just saw a post on Stack Overflow about what Java 7 will mean to Java programmers and while I responded there, I thought it was worthwhile to repeat those comments here as well.

As far as what changes you’ll see in your day-to-day work, my guess is that the major impact will be stuff like JSR 203 which overhauls the file system API. If JSR 310 is included, then it would also have a major impact on how you interact with any aspect of the date and time APIs. Many of the other JSRs will only impact you if you happen to already do something in that particular area (JMX – JSR 255, concurrency – JSR 166, etc).

I think it’s unknown at this point how much JSR 294 and Jigsaw will impact us day to day. It’s possible that it will be a new and important way to define modules that will impact the way we bundle libraries, define dependencies, and deploy our apps. Or it may just be used in the JDK and ignored elsewhere. Only time will tell.

There will be a handful of language changes that come out of Project Coin but they are mostly going to be small useful but not revolutionary changes that help remove some boilerplate.

I think the biggest thing most people will notice may be performance. As usual, each JDK brings a whole new set of performance optimizations. We’ve already seen some very encouraging results in String performance, array performance, and a new concurrent garbage collector (G1). I suspect many people will find that their existing code will work and run noticeably faster than it did in the past.


9 Responses to “What Java 7 will mean to you”
  1. Veera says:

    I look forward to the better date and time API!

  2. Veera,

    You can start using it now, it’s going to be based on JodaTime http://joda-time.sourceforge.net/


  3. Paul Wujek says:

    Is Terracotta 3.0 affected by the G1 garbage collector? (Java 6 update 14 has just become available, at least in beta).

  4. Alex says:

    Not sure what you mean by “affected”. We are eagerly awaiting it as an alternative to CMS which we normally find is more problematic than useful. I believe a few folks have tried it out internally.

  5. Paul Wujek says:

    I am a newbie with Terracotta, and in this case I was wondering whether the different GC clashed in any way with Terracotta’s function. Based on your answer I guess that the answer is ‘no’.

    Are there any proposed changes to Java or the JVM that would require Terracotta to be modified (leading to version dependencies)?

  6. Alex says:

    There are rarely changes at the JVM level and certainly none that I know of that would affect Terracotta. Some of the JSR 292 stuff introduces some new capabilities that we are hoping to take advantage (things like interface injection) but that’s a ways off.

    We do instrument a few parts of the JDK like the collection classes and those occasionally need some cleanup for version-specific things. We detect the version and do the appropriate thing for the current version.

  7. Mark Thornton says:

    While the JSR-310 development has been informed by JodaTime, it is a new API.

  8. very nice. I checked the startup and the programs start faster. But, they use clearly more memory, at least the windows task bar shows that (am not memory usage expert though), this in comparison with java 1.5.0_15 (am I outdated?..)

  9. Brian says:

    The most noticeable thing about Java 7 is the performance. And i found this blog on Benchmark 1.5 1.6 1.7 which shows where we are heading