tags:

views:

449

answers:

7

I've been asked to prepare a presentation for a company meeting with the title "What's New In Java". Any suggestions for content (or references to similar SO questions) would be welcome.

For scope: the bulk of the work done by my company is pretty traditional n-tier apps, typically using Java 5 or 6, Spring, Hibernate and a relational database with some sort of web or Swing front-end. "New" means anything beyond this...

My first thoughts are:

  • Java 7 features:
    • dynamic language support
    • Swing application framework
    • multicore support
    • closures (maybe) EDIT: unfortunately not...
  • JVM-based languages:
    • Scala
    • Clojure
    • Groovy
  • Upcoming frameworks:
    • Lift
  • EJB3

Any other ideas?

+1  A: 

Not sure this overly affects things but looking at your timeline the fact that Java 7 is open-source under a liberal license might be interesting. This will mean getting Java well supported in all Linux distributions will be simpler.

Mike McQuaid
+1  A: 

If you guys are using Hibernate perhaps mention the JPA standards, stay using hibernate under the hood but code against the JPA specification. I am aware JPA is not exactly new but if you are not using it, it may be new to the people you are presenting to.

Paul Whelan
good point, they added it this month.
01
+1  A: 

Not sure if that is relevant to your company, but one could mention the recent somewhat Java-based, but definitely not Sun-approved projects that Google is pushing (Android, App Engine, GWT). This could be (together with the OpenJDK) the beginning of a trend, where people take bits and pieces of Java that they like and adapt it (heaviliy) to their needs. Could lead to some fragmentation, too.

Thilo
+3  A: 

A few things to consider:

Platform

Libraries

  • JAX-RS, AKA JSR-311. A REST-ful web-services framework. Can also be used as an annotations-based MVC framework. See Jersey, the reference implementation.
  • Google Guice. Fast type-safe dependency injection. Application wiring is type-oriented and checked at compile time because of the Java-based configuration DSL.
  • Google Collections. New types of collections and utilities for existing ones. Very much in the same vein as the java.util collections framework. Almost at "version 1.0". Includes true immutable implementations for all the collection types.
Ben Lings
Thanks Ben - I think you may know just as much as me about the scope of this... :)
Dan Vinton
+5  A: 

visualvm - very useful tool bundled with the JDK since Java 6 update 7

Michael Borgwardt
+2  A: 

I'll try to sumarize the features I think might be important for you. The list might be a little short, because all the sun effort is placed on the modularization story and javafx.

  • The new date and time API (jsr-310) will decrease the need for joda-time, since it includes durations, periods, a inmutable date, and the like.

  • The new "new IO" API, defined by JSR-203, with updates to asyncronous IO operations, filesystem manipulation and better integration with native filesystem features (permissions and other usual suspects).

  • The bean validation API JSR-303 is a step forward from hibernate validation, and hibernate validation will be the reference implementation. I'm not sure if this will come with java standard or the "JEE" bundle.

  • Intregration of the swing application framework into the runtime (JSR-296).

  • Integration of JXLayer.

From your list, closures will not get into JDK 7. Remove it.

Marcelo Morales
Please observe a moment of silence for the closure.
joeforker
A: 

Here's a good list of features coming for JDK7: http://openjdk.java.net/projects/jdk7/features/

GaZ