Java 6 (code-name Mustang) has been released in beta. It is now feature-complete. Compared to the number of new features in Tiger (Java 5), it may be considered as more of a minor release (minor not being a negative term here). From where I stand, I would categorize new features into :
1/ New APIs: the complete, up-to-date and secure Web Services stack (JAX-WS 2.0 and JAXB 2.0) is now available in the core JRE. JMX also had a bit of API changes such as MXBeans.
2/ Improved existing stuff: this is mainly the work done on Swing – SwingWorker integrated (a new thread-safe version), sortable/filterable JTable, better look-n-feel, splash screen (a really-early-in-the-startup-process one), LCD fonts, end-user experience (new look, new admin console, unified download engine for Plug-in and Web Start, etc…), no more gray rectangle, drag-n-drop, browser and system tray integration, etc… I’m still waiting for the new Swing examples (maybe a replacement to SwingSet2…).
3/ Implementation details and monitoring tools: on-demand JConsole attachment, better memory usage analysis and leak detection (better java.lang.OutOfMemoryError handling), DTrace (which I can get back to using now that I have a new laptop), more smart tunings (smarter default tuning).
I know there’s also he Rhino engine and more generally the dynamic languages, but I have yet to really use this.
More on all these new features here.
The other news is about the NetBeans Platform (a Swing version of the Eclipse RCP if you will). I have been using and talking about this feature for sometime now. This has been in NetBeans for a while but using it got a whole lot simpler with NetBeans 5, so finally, there’s now people giving it the attention it deserves. Roumen has a teaser demo which will be part of a bigger presentation (slides + more demos) due soon. There’s still a lot to do to catch up with the Eclipse RCP hype but technically this has been ready and used for some time now. More use here and here (these is non-IDE use of the platform, obviously Creator, Java Studio Enterprise and Sun Studio, Compuware, SeeBeyond (pre-acquisition) and others are also built using the platform). Anyway, thanks Roumen for doing this. Hearing back from top-level analysts (“NetBeans is an IDE, not a platform…”) we need to do more of these!
So why combine the two together in the same blog entry? Well, because I’ve been running NetBeans (a pretty serious desktop client application) on previous builds of Mustang with very very little problems (one small regression in 12 builds or so that I’ve used). I enjoy very much the improved fonts rendering and the overall performance.
I can’t really recommend using beta software in production, but for an IDE you should probably think about it.
In other news:
– the AVK (Application Verification Kit) is now available on the NetBeans Update Center. Great tool to monitor you J2EE application portability level using both static and dynamic verifications. These tests can also be ANT-driven.
– you may want to check the brief NetBeans Profiler Intro Demo. The profiler has been in preview versions (as many as 10 milestones) for a while and is now (free obviously and) available as an add-on to NetBeans 5. It still allows profiling using 1.4.2 JVMs.