JavaOne – Day One Impressions

So, JavaOne 2006 officially kicked off today.

I attended the following first day sessions:

Desktop Java™ Technology Today: Deep Dive

Essential Lessons of Distributed Caching

What Is Happening With SOA in Open Source?

Service Component Architecture: Approach to Security, Transactions, and Policy

Java™ EE 5 Platform: Even Easier With Tools

The first two sessions were quite good, the last couple were not so good. It’s important to not only take the topic into consideration, but also the speakers and their respective employers. I found some of the presentations to be a little to close to spec reviews. Although I am looking forward to some of the BoF’s that are scheduled for tonight and we got an invitation to the JBoss party on Wednesday night.
Cameron Purdy presented on the do’s and don’ts of distributed caching, mentioning Coherence only once. The talk consisted of a series of lesson’s regarding how best to partition your distributed cache (and under what circumstances), the driving motivations for caching, the drawbacks of one strategy versus another, and some of the potential pitfalls you’ll most likely run into. One of the lessons actually struck home (caching of the hashCode() method). We recently made optimizations in that area and it’s amazing the number of times your hashCode() and equals() get invoked over the course of normal program execution (let alone stress testing).

The first session of the day was actually an overview/deep-dive on some of the new Java 6.0 aka. Mustang changes. There’s been numerous updates and improvements to the core AWT/Swing hierarchies. The SwingWorker has been brought up to date with annotations and requested functionalities. Vast performance improvements have been made to the OpenGL rendering pipeline as well as general L&F improvements to WebStart security dialogs (!!). There’s been an emphasis on professionalizing desktop java. The Java 6.0 renderings will be back-ported to Java 5.0 (platform-specific component painting using native calls) so that both Windows and GTK+ platforms will have pixel-perfect native component renderings.

There were also substantial performance improvements made to the ImageIO framework on the order of 100-200%. Some of the JDIC components have also been folded into the JDK (TrayIcon, SplashScreen and the Desktop classes). Although it was unfortunate to hear that the support hasn’t really expanded past Windows & Gnome. I’ve had to work around numerous problems with Desktop.open() on the Mac and I guess those hacks (?) will have to persist.

Time for dinner and than a couple of BoF sessions.