 |
Top Java SE 6 Features
Posted by xelipe on April 29, 2007 at 06:43 PM | Comments (11)
Now that I have had some time to work with Java SE 6, I thought I would share a list what I think are the top features and biggest letdowns.
Scripting
I was sold into scripting the JVM since back in the day when the only scripting option was Jython and BeanShell. Personally I would have preferred if Groovy was the default scripting language that came with Java SE 6. The good thing is that there are plenty of scripting languages that support the new Scripting Framework.
No More Class.forName for JDBC Driver
Java SE 6 does not require you to load the JDBC driver prior to creating a JDBC connection. This only works if the driver is packaged with a certain descriptor in the jar file. This only saves me one line of code, but I would never for the life of remember the name of driver I wanted. So in reality this saves one line of code and one Google search.
System Tray
The system tray goes a long way in developing Java applications that look and behave more like native applications. The system tray was originally part of the JDesktop Integration Components (JDIC). They system tray allows you to add a menu on the user desktop's user tray.
Java Compiler API
In the past I have had to compile Java source at runtime by invoking the the Main class for the javac command. The Java Compiler API provides a solid solution for compiling Java source files or just in-memory Java code.
XML Binding
I cannot stress how useful and powerful XML binding is. XML binding is object serialization using XML. With JAXB as part of the Java SE 6 you don't have to download additional jars and libraries.
JDBC 4.0 Annotations
Early Java 6 builds introduced a BaseQuery interface. You where able to sub-interface the interface and then define get methods and associated annotation with the appropriate select prepared SQL statement. JDBC annotations are a new way of building Data Access Objects (DAO) which looked appealing. I thought this feature was innovative, yet it didn't make the final cut. I was not able to find word if this will be available as a standalone library.
SE 6 on OS X
Another thing that I am not happy with in regards to Java 6 is that I can only use Java 6 on my Windows machine. There seems to be no word from Apple as to when Java SE 6 will be able for OS X. As OS X languishes with Java SE 6 support, Ubuntu has promised to provide a complete Java development stack with Java SE 6, GlassFish, and NetBeans.
I am sure you have your own list of top Java 6 features, and/or disappointments. Please feel free to share them here.
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
I actually also use Parallels to test my apps on Windows. This week I hit an interesting case in which the Java app was running three or four times faster in Parallels than on Mac OS X itself (it was a graphics intensive animation for a JavaOne demo.)
Posted by: gfx on May 01, 2007 at 04:12 PM
-
gfx is right, you could get a developer preview of Java SE 6 from the Apple Developer Connection site. The latest version available is JDK 1.6.0_b88 which is dated September 2006. But I really like davidvc's idea of using Parallels...
Posted by: xelipe on April 30, 2007 at 06:56 PM
-
davidvc: There *is* a version of Java SE 6 for Mac OS X. Granted, it's only b88 but I've been using it for months, developing for customers or writing demos with it.
Posted by: gfx on April 30, 2007 at 06:16 PM
-
And, yes, it super-sucks there is no Mac portof Java SE 6. Thank goodness for Parallels, so I can run Solaris, Vista, and/or Ubuntu on my Mac. One machine, no OS lock-in, life is good.
Posted by: davidvc on April 30, 2007 at 11:09 AM
-
JDBC 4.0 Annotations, including BaseQuery, were part of the Early Draft release of JDBC 4.0. However, the reference implementation of these features were not of the quality required, and they were pulled from the final draft so that JDBC 4.0 could be released in time for JDK 6
This was particularly painful for the Derby team because we had implemented these features based on the early draft spec, and Derby (in the form of Java DB) had already been dropped into the Sun JDK. So the version of Derby you had in the first release of JDK 6 including support for functionality that was not actually in the spec (bummer!!).
That has since been fixed. But to summarize, no, there is no BaseQuery in JDK 6.
Posted by: davidvc on April 30, 2007 at 11:06 AM
-
goron & gfx: All the Vista installations I've dealt with so far have had Java6 on them. When I installed Vista on one of my workstations at home it had Java6 with it as well. So I think we are going to start seeing Java pushed out more once Vista gets more openly adopted.
Posted by: olsonje on April 30, 2007 at 06:20 AM
-
Machintosh ? forgett it :) Apple is anti-Java.. adopt Linux or Solaris and be happy...
Posted by: felipegaucho on April 30, 2007 at 06:17 AM
-
"Java SE 6 introduced a BaseQuery interface that you can extend"
I can't find anything in the java-api-docs about BaseQuery. Are you sure it is part of JavaSE 6?
Posted by: klaus666 on April 30, 2007 at 04:35 AM
-
goron: I don't know about Java 6 but Java 1.5 deployment is actually quite good.
Posted by: gfx on April 30, 2007 at 01:43 AM
-
I wonder though... how many Windows machines come preinstalled with Java 6? Or do app developers still need to bundle the JRE with their apps?
Windows may have access to the latest versions of Java, but it still seems to be a second-class citizen where it comes to actual deployment.
Posted by: goron on April 29, 2007 at 10:53 PM
-
"One thing that I am not happy in regards to Java 6 is that I can only use Java 6 on my Windows machine."
I'm happy to report that this is not the case. You can use it on Linux (or Solaris) too, today.
Posted by: trelane on April 29, 2007 at 07:26 PM
|