Friday, June 5, 2009

Java SE 7 and Java EE 6

I just returned from JavaOne. Details on Java 7 and Java EE 6 were big topics during the conference.

Java 7 is expected to be released Feb 2010. Based on last year's conference notes and milestones released this year already, many thought (including myself) that Java 7 would be released sooner. The last feature-complete milestone is scheduled for Oct 2009. I attended a few sessions that discussed what will be in Java 7. Everyone was careful to say that the final decisions hadn't been made yet, indicating there is still work being done on Java 7. Some of the things likely to be in Java 7...
1. modules (allowing you to customize the features of Java you need for your app and finally killing the classpath)
2. null check operator/conditional - "?:"
3. Strings in switches
4. multiple exception catches in the catch block (using "")
5. diamond operator to allow the generics to be more easily used.
//For example...
HashMap> map = new HashMap>();
//becomes
HashMap> map = new HashMap<>();

Things not likely to make Java 7 but at one time rumored to have a chance...
1. closures
2. SQL expression checking

Java EE 6 will actually come out sooner. Java EE 6 is due on in final form in Sept 2009. In this release, the big new features are:
1. JAX-RS (support for RESTful web services)
2. JSF 2.0
3. Asynch servlets
4. Bean validation (adding validation to JavaBeans that can be used to validate property data anytime they are used).
5. Web.xml is gone (at least it can be gone) with the use of annotations and/or web.xml fragments.
6. Web beans - essentially session beans in the WAR file.

A few other notes from the conference...

Eclipse Galileo is the next train release of Eclipse (following the previous year releases of Calisto, Europa, and Ganymede) and it will come out on June 24th. This release now includes 33-48 Eclipse projects (Ganymede included 24 projects). On Jun 26, there will be a live Webinar to learn about new features. From the talk, I wouldn't say there is any real big thing in this release that most of us would use on a regular basis.

Spring has a new project called Spring Roo (yes for kangaroo). Essentially, this is Rails or Grails but all in Java and Spring. Meta programming is here to stay folks. I hope to have more on that in a later blog posting.

6 comments:

  1. Did the html not render the HashMap example correctly? The use of brackets doesn't look correct to me.

    ReplyDelete
  2. Roller - good catch. Yes it looks like HTML angle brackets have foiled my posting again. Sorry about that but hopefully you get the idea.

    ReplyDelete
  3. I don't like the new proposed changes. Instead of doing something useful like adding delegates, integrating AOP into the language or providing better support for non-English languages, they give us things like a diamond generics operator. I mean, do we really need such a thing at all?

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. I tried Java SE 7 when it was released in February and it was really good, there were many improvements form the previous version, now I'm using it with a software called Sildenafil Citrate and the performance so far is pretty awesome!

    ReplyDelete