Sunday, February 07, 2010

Back from the Java Roadshow 2010

Here is a quick, incomplete summary of what I saw, heard with a touch of personnal  feeling...

Remark number 0: there was a limited audience that day (compared to previous venues). Lack of 'announcements' or economic crisis ? Probably a bit of both...

Sales of SUN clothes and gadgets have soared as they will not be available anymore.No hope to get a mug with the SUN logo... So the merge with Oracle was at least good at that...

The acquisition by Oracle is being finalized now.

JDK 7
There has been a short review of JDK 7. Not Java 7 yet because that would require to go through the JCP - it seems there are currently some conflicts/problems on the process itself. Ultimately this will become Java 7 when these 'political' issues are solved.

Here are a few things:

- more annotations (now also on base type).
- modularity - JSR-294. This will help specifying dependencies to module. With range of version etc. Compile will typically check against the lowest version of each version and runtime linking will take the highest (most recent one).
- various language extensions (switches on String - got great welcome).
- simpler resources cleanup (object that inplement a closable interface will get closed when exception occur) thus simplifying resource protection code.
- improvement for dynamic language support
- compressed 64 bits pointers.

JavaFx
- Ok, nice idea. Variable binding looks great. Demos was ok but not that simple to write.
- Where can it be used ? Well on any phone Java enabled etc - sorry I missed the reference (Java ME 2?). So forget IPhone (?) and Android (more or less sure) - but should be ok on Windows Mobile (ah great).

JEE 6
- Improvement, and new concept of 'profile'. So you can be compliant by implementing a subset of it.
- Single WAR file.
- New servlet API - and yes possiblity to upload file in a standard way !
- New JPA.
- EJB 3.1 (Light = can be used outside a container).
- Dependancy injection (very, very good point - lets get away for the JNDI horrible stuff).

Glassfish V3 

GlassFish continues to be the reference implementation of JEE6 and looks like a geat product that will continue to be the reference implemenation and is announced as 'production ready'. It seems fast and easy to embedd. Session preservation (accross restart of the container) is great (for end-users) and truly good for developpers (simplify testing your changes)

Glassfish incorporate Apache Felix and so is OSGi compliant !


Java tip & tricks

Well I learn that there are 480  (-XX) options on the Sun JVM. Don't ask me them all. We had a good presentation on the garbage collector. A nice peace of software that tries to adapt memory allocation to various circumstances... With some option again for tuning - for example if you have many threads and performance problem related to contention...

Note that there is a new Garbage Collector (G1) since JRE 6u14 (so a motivation to upgrade to the latest JVM).

For info http://java.sun.com/performance/reference/.

Profiling with visual VM http://visualvm.dev.java.net/

Note that the Garbage Collection was there when the language started (in 1996). So making it a hot topic for the yearly roadshow...


Java for Business
Basically support proposal for the JVM with 3 level of services. Please call for prices...

Embedded Java
Basically Java SE but tailored by modules to get a smaller footprint. Good if you are in the appliance business.

Real Time Java
On realtime Linux or realtime Solaris, Java real time extensions enables to control the throughput and / or predictability of your application (a new range of business for sure).

The last tree points means IMHO : lets try to find a way to get finally a bit of money from it.

But it is not so simple. See for example the way Google used the language for Android without using the runtime to get away the licensing fee...

One more for the road. I will post the link to the presentation slides when they are available.

My final, last point... Walking dinners with hot lunches are not compatible...

No comments: