Sun Unveils Java 6.0

From Wikinews, the free news source you can write!
Jump to navigation Jump to search

Monday, December 11, 2006

Sun Microsystems released the latest installment in their popular Java programming language line today, Java Standard Edition 6.0. Though this release, codenamed "Mustang", is not as drastic a departure from its predecessors as version 5.0, Sun reports more features, and noticeably better performance. In addition, the new release promises to support easier databases, and has integrated its graphics rather seamlessly with both Windows and the GTK.

Users of the pre-release versions have already reported substantial performance gains. Graeme Wallace, the CTO of, reported that "The difference between Java SE 5 and Java SE 6 was startling. In terms of crunching through air fares, we are talking an increase in speed of 25% to 30%." Sam Berlin, senior engineer of Limewire LLC, commented that he has "really been pleased with the startup times," and Jim Adams, the principal Java architect at SAS, reported that, in using the version 6.0 pre-releases, he "was always impressed by the speed and memory improvement that [version 6] afforded me."

Microsoft has publicly endorsed the release due to its strong compatibility with the upcoming Windows Vista operating system. Said CEO Brad Goldberg, "We welcome the Java SE 6 release and its compatibility with Windows Vista because we want to see a good Java technology experience available for customers using Windows."

Major Features

A comprehensive features list was provided by Sun Microsystems. Some of the most notable improvements are:

  • The new version contains some much-anticipated database support (via Java DB). Dr. Barry Burd, author of Java for Dummies, commented that "In my years of writing and teaching, I've always had to tiptoe around the quirks of various databases. While trying to describe underlying database principles, I would become tangled in descriptions of platform specific alternatives. Even the simplest examples involved distracting, unnecessary tweaks. But Java DB makes my job easy."
  • A new API has been added to allow scripting in Java, including both languages like Python and Ruby as well as Mozilla's open-source JavaScript implementation. This will mark an unprecedented convergence between the two technologies, which have historically only been related in name, not in implementation.
  • The garbage collection algorithms have been improved for multi-core and multi-threaded processing.
  • A substantial number of visual changes have been implemented:
    • Java programs may now be placed into the System Tray of any operating system that has one.
    • Sun has tweaked their text anti-aliasing features to provide for a better visual experience.
    • Prior to this release, Java applications that ran in Windows operating systems did not appear the same as surrounding applications, with various color and toolbar incongruities. This release fixes those problems.
    • Those who use GTK for graphics processing will find that Sun's code runs from GTK directly, emulating the look and feel exactly.
    • Java applications may now have splash screens when starting.
  • Linux users may now use the command-line command "java", which had previously only been accessible on Linux and Windows.
  • Input and output streams may now use the popular ZIP compression when transferring data.
  • Java programs can now write to .GIF images.
  • The Java Plug-in and Java Web Start software have both been improved for better usability and security. The Plug-in now officially supports Mozilla Firefox, a popular web browser.
  • Graphical hardware acceleration in Microsoft's Direct3D has become more fully supported, allowing graphical applications to run faster.
  • A special class has been added for handling input and output to a text console.
  • Sun has added a new interface for a double-ended Queue, (a Deque) which allows programmers to add elements both to the beginning of a list and to the end of it. So far, this has only been implemented in their LinkedList class.