Java 2 Platform, Standard Edition 5.0 (J2SE 5.0) was launched
as the official Java version by Sun on September 30, 2004. We give
an overview here and discuss some of the specific features in the
Note: Many of the Java 5.0
topics involve subjects not discussed till later chapters. If you
are completely new to object oriented programming and Java, you
can come back to this section as you work through Part I..
Most of the changes fall into the ease of development (EoD)
category. With a few important exceptions, the changes do not add
new functionality but rather provide an easier way of doing the
same things you could do before but with less code and better
compiler-time error detection.
The most important changes to the platform include the following:
Quality, Stability, and Compatibility
The designers of J2SE considered quality, stability, and compatibility
to be the most important aspect of the new release. Release
5.0 is the most tested release ever. Great efforts were made
to ensure compatibility with previous versions of Java. The
Sun engineers made a public plea for users worldwide to test
their code with the 5.0 Beta releases and to report any problems
that appeared, especially any code that worked with earlier
versions of Java but failed under 5.0.
Performance and Scalability
Faster JVM startup time and smaller memory footprint were
important goals. These have been achieved through careful tuning
of the software and use of class data sharing. (Refer
for more information about class data sharing and why it helps.)
Ease of Development
It is in the EoD area that the most significant changes appear.
In most cases, no new functionality was added in the sense that
almost anything you can do with 5.0 you could do with 1.4, it
just sometimes took a lot more boilerplate code (i.e. code that
is repeated frequently) to do it. The exception to this general
statement has to do with the new multithreading and concurrency
features that provide capabilities previously unavailable.
In many cases, the new EoD features are all about syntax shortcuts
that greatly reduce the amount of code that must be entered,
making coding faster and more error free. Some features enable
improved compile-time type checking, thus producing fewer runtime
Monitoring and Manageability
The 5.0 release includes the ability to remotely monitor and
even manage a running Java application. For example, it is now
much easier to watch memory usage and detect and respond to
a low-memory condition. Many of these features are built right
in to the system, and you can add additional monitoring and
managing features to your own code.
Improved Desktop Client
The last great theme of the 5.0 release was an improved experience
on the desktop client. In addition to better performance because
of a faster startup time and smaller memory footprint, there
is a new, improved Swing (see Chapter
6) look and feel called Ocean, and a new easy-to-customize
skinnable look and feel called Synth in which you can
use XML configuration files to specify the appearance of every
visual component in the system. In addition, the GTK and XP
look and feels introduced in J2SE 1.4.2 have received further
improvements. There is support for OpenGL and better performance
on Unix X11 platforms. The Java
Web Start and Java
Plug-In technologies (both used to run Java applications
downloaded over the Web) have been improved.
Other new features in J2SE 5.0 include core XML support, improvements
to Unicode, improvements to Java's database connectivity package
known as JDBC, and an improved, high-compression format for JAR
files that can greatly reduce download times for applets and other
References and Web Resources
Austin, J2SE 5.0 in a Nutshell, May 2004, Sun Developer
Austin, Take the Fast Track to J2SE 1.5: JCP experts listened
and developed the best developer platform. Discover how new J2SE
1.5 features can streamline your code, JavaPro, June 7, 2004.
Programming Language - Enhancements for JDK 5
Java Programming Language for JDK 5.
- Brett McLaughlin and David Flanagan, Java 1.5 Tiger, A Developer's
Notebook, O'Reilly, 2004
Data Sharing - technique for speeding up program startup times.
Web Start at java.sun.com
Latest update: Oct.20.2004