The 10 Things You Need to Know About Java SE 6 'Mustang'

Need a digest, summary, compressed form, precis of what's up with Java SE 6 'Mustang', currently in beta ?

Here it is, the top 10 things you need to know.

1. Web Services

All developers get first class support for writing XML web service client applications. No messing with the plumbing, you can expose your APIs as .NET interoperable web services with a simple annotation. Not your style ? Want to handle the XML directly ? Knock yourself out: Mustang adds new parsing and XML to Java object mapping APIs, previously only available in Java EE implementations or the Java Web Services Pack.

2. Scripting

You can now mix in JavaScript with your Java Source code, useful for prototyping, or when you have teams with a variety of skill sets. More advanced developers can plug in their own scripting engines, and mix their favorite scripting language in with Java as they see fit.

Perhaps You ThougHt yOu couldN't program with a scripting language and Java togetheR. Which will yoU Be trYing ?

3. Database

All developers get the updated JDBC 4.0, which is a new upgrade of a well-used API, focusing mainly on making it easier to use, although there are many feature additions like special support for XML as an SQL datatype, and better integration of BLOBs and CLOBs into the APIs. My favorite ease of use things include removal of some JDBC boilerplate, and some of the new annotations which make SQL strings embed better into your JDBC application. Like decorating your getAllUsers() method with an @Query(sql="select \* from user") annotation, and that being all you need.

4. More Desktop APIs

Much has been said about this spoonful of sugar (to go with the desktop team's cake), so I will only skim a little. GUI developers get a large number of new tricks to play like the ever popular yet newly incorporated SwingWorker utility to help you with threading in GUI apps, JTable sorting and filtering and a new facility for quick splash screens to quieten impatient users.

5. Monitoring and Management

Really the big deal here is that you don't need do anything special to the startup to be able to attach on demand with any of the monitoring and management tools in Java SE. Mustang adds yet more diagnostic information, and we cobundled the infamous memory heap analysis tool jhat for forensic explorations of those core dumps.

6. Compiler Access

Really aimed at people who create tools for Java development, and for frameworks like JSP or PHP engines that need to generate a bunch of classes on demand, the compiler API opens up programmatic access to javac for in-process compilation of dynamically generate Java code. Not directly intended for the everyday developer, but for those of you deafened by your screaming inner geek, roll up your sleeves and give it a try. And the rest of us will happily benefit from the tools and the improved Java frameworks that use this.

7. Pluggable Annotations

Its becoming a running joke in Java circles, at least some that contain me, that for every wished for feature missing in Java, there's a budding annotation that will solve the problem. Joke no more, because Java tool and framework vendors can put a different smile on your face, defining their own annotations and have core support for plugging in and executing the processors that do the heaving lifting that can make custom annotations so cool.

8. Desktop Deployment

Those of you deploying applications to the desktop will soon discover that its a tale of a large number of smaller changes that add up to a big difference to existing applications. Like better platform look & feels in Swing, LCD text rendering, and snappier GUI performance overall.  Java apps can integrate better with the native platform with things like new access to the System Tray and Start menu of the platform.  At long last, Mustang unifies the Java Plugin and Java WebStart engines which just makes sense. Java WebStart application installation got a much needed makeover.

9. Security

You can have all the security features you like in the platform (and Mustang adds a few more, like the XML-DSIG APIs for creating and manipulating digital signatures), but if you don't have well supported security administrators, your security may be at risk. So Mustang has simplified the job of its security administrators by providing various new ways to access platform native security services such as native PKI and cryptographic services on Windows for secure authentication and communication, GSS/Kerberos services for authentication, and access to LDAP servers for authenticating users.

10. The Ilities: Quality, Compatibility, Stability

You probably knew that Sun has done regular feature releases of the Java SE platform over the last 10 years, so we certainly feel like we've built up some expertise in this area (the ever growing 80,000 test cases and several million lines of code testing conformance being just one aspect of our testing activity), but different from the last release, you probably noticed that people have been downloading snapshots of Mustang for the last fifteen (not just six) months. And what's more they've been filing bugs. And what's even more we've (and some of you!) been fixing them as we go. We're even challenging people to find more. So unlike previous releases, before we even got to beta, we'd fixed a number of quality and regression issues. Doesn't that add up to a better product ? Oh, and by the way, performance is looking better than Java SE 5 'Tiger'. Already..

So now you know all you need to know. Go on, try it !

<script type="text/javascript" language="javascript"> var sc_project=1447369; var sc_invisible=1; var sc_partition=13; var sc_security="7131aa0b"; </script> <script type="text/javascript" language="javascript" src=""></script>

[Trackback] Welcome to today's IT Blogwatch, in which Microsoft reorganizes, Scoble keeps schtumm, and bloggers smell a rat. Not to mention the Vice President has a rider, just like his rockstar friends...

Posted by Computerworld Blogs on March 23, 2006 at 09:39 PM PST #

On Scripting and Ruby: I'm a bit confused on the extent of the scripting functionality. Will I be able to write code in Ruby to target the Java VM? Can I embed a ruby interpreter with the java vm? Do I have to write any Java code to use Ruby? Thanks, Jose Marinez

Posted by Jose Marinez on March 28, 2006 at 11:53 AM PST #

Hi Jose - for scipting with ruby on Java SE take a look at JRuby -

Also, this article is pretty interesting from the point of view of integrating interpreters today onto the Java SE platform - of course Mustang defines a standard way to plugin a scripting interpreter, so hopefully all the sciprting engines will move to that mechanism, making it easier for everyone.

Posted by Danny Coward on March 30, 2006 at 04:48 AM PST #

Please qualify "Oh, and by the way, performance is looking better than Java SE 5 'Tiger'. Already." with some data or at least links to the data.

Posted by HashiDiKo on April 01, 2006 at 03:20 AM PST #

I wonder how Mustang's improvement over performance?? Performance is still my greatest concern for Java ... By Avatar (KLJUG Blog)

Posted by Avatar Ng on April 11, 2006 at 05:26 PM PDT #

I just checked the Java6 docs. They still have not updated the ActiveX Bridge. It still indicates Implementation for SDK/JRE 1.4.2 and Above and specifies Microsoft Visual C++ 6.0 with SP3. Why can't we get this fixed ? I wonder if there is more emphasis on new features rather than fixing some that users want to use.

Posted by Paul Campbell on October 27, 2006 at 05:59 AM PDT #

Post a Comment:
Comments are closed for this entry.



« July 2016