Java Platform, Standard Edition 6 (formerly known as
J2SE 1.6), code-named "Mustang" is planned for release in 2006, and
it's going to be a major feature release. The importance of the release
is even underlined by a new naming convention for all Java platforms --
it's no longer J2SE but Java SE.
Even though Mustang is still in Beta, I'm going to go ahead and
cover many of the new features and enhancements introduced in this
release. There is a special JSR 270
related to Java SE 6, and instead of specifying some concrete features,
it enumerates features defined in other JSRs, serving as the "Umbrella
JSR."
Java SE 6: A desktop revolution?
Some experts are already saying that Java 6 has the potential to be
revolutionary for desktop applications, just like Java 2 was for
server-side development. There are a lot of new desktop features, as
well as overall GUI enhancements.
The Sun Java desktop team did its best to integrate Java more
closely with the underlying operating system. As a result, Java 6 has
obtained a better GUI performance, and much better user experience,
achieved by improvements in behavior of GUI applications.
Among the most important new UI features are the following:
- Introduction of new java.awt.Desktop API: The
Desktop package offers the ability to easily integrate an application
with other applications. For example, you'll be able to open, edit, or
print files of specific types with external applications such as Word
or Excel, and launch a default browser or mail client, etc. This
integration is done through a new action event mechanism in the
Desktop.Action class.
-
Better internationalisation: You can easily plug in any locale feature such as date formatting, encoding settings, and Unicode text normalisation.
-
System tray support:
The java.awt package provides two new classes: SystemTray and TrayIcon,
which offer the ability to add icons, tool tips, and pop-up menus to
the Windows or any other system tray (such as Gnome).
-
Splash screen direct support:
A splash screen is now a standard feature and can be shown even before
the JVM starts. Usually, splash screens are used when an application
has a long initialisation stage, and the user can be informed on what
the app is doing.
-
Java 2D integration with desktop:
The Java 2D graphical library now uses desktop anti-aliasing font
settings, so the text is rendered more smoothly and consistently (this
is especially important for LCD screens).
-
JFC and Swing integration with desktop: Java SE 6 uses the Windows API to improve performance and stay close to the current Windows look-and-feel.
Core Java enhancements
There are many important core features coming in Mustang. The Java
core itself is a set of parts, which are fundamental to all other
aspects of Java. The following areas have been affected: Java language,
some core libraries, security and networking, XML handling, JMX
handling, and serviceability. Here's a brief look at these enhancements:
-
Development features: The new Java Compiler API (JSR 199) allows Java source to be compiled from within a Java application. The new Java Scripting framework (JSR 223)
provides scripting language access to Java internals. You can locate
scripting engines and invoke them to run scripts at runtime. Java
Platform Debugger Architecture (JPDA) is enhanced now and can detect
deadlocks and find the stack traces where monitors are locked. There
are some other enhancements in JPDA like the ability to attach to a
running JVM for diagnostic purposes.
-
Enhanced application management: JMX
Monitoring API has been improved and allows you to send events when
MBean attribute values pass specified thresholds. For Solaris 10 users,
the Hotspot JVM for Solaris provides hooks for the Solaris DTrace
system debugging utility to track and display internal JVM activities,
such as garbage collections, class loading, threads, locks, and so on.
Java SE 6 enhances memory leak analysis and detection by including a
full stack trace in the java.lang.OutOfMemory exception and generating
a fatal error log when the heap is full. In addition, a new JVM option
allows you to run a script when the heap is full.
-
Security:
Java 6 is integrated with GSS/Kerberos. Java Authentication and
Authorisation Service (JAAS) can easily plug the LDAP provider for
authentication, and a new Security Request Framework allows you to
request certificates over a number of protocols.
-
Web services:
You can perform cryptographic operations on XML data by using the XML
Digital Signatures API. The JAX-RPC library is renamed Java-XML Web
Service (JAX-WS), and a new Streaming API for XML provides a
bidirectional API to read and write XML via a stream of events,
including the ability to skip sections and focus on subsections of
documents.
-
Database connectivity: Mustang will
introduce a JDBC 4.0 version, enabling automatic java.sql.Driver
discovery, national character sets support, SQLException improvements,
and more.
Conclusion
Java 6 has a variety of important desktop features planned for
release in 2006, as well as many server-side and core features. Looking
closely at these enhancements, it is suggested that Java SE 6 (Mustang)
can become a revolutionary step in GUI and desktop Java application
development because of a qualitative jump in GUI behavior and user
experience. Nevertheless, it is constantly improving from the core
perspective, and the list of core features improved or added to the new
release is proof of that.
For a more detailed description of Java SE 6, please see the documentation on Sun's site.
Peter V. Mikhalenko is a Sun certified professional who works for Deutsche Bank as business consultant.
References: BuilderAU
Submitted by Faisal on Tue, 07/31/2007 - 17:19.
Recent comments
1 week 6 days ago
2 weeks 3 days ago
4 weeks 11 hours ago
5 weeks 5 days ago
8 weeks 4 days ago
9 weeks 2 days ago
12 weeks 5 days ago
12 weeks 6 days ago
15 weeks 3 days ago
18 weeks 1 day ago