Home : Course Map : Chapter 1 : Java :
Java 5.0 Improvements
Course Map
Chapter 1
What is Java?
Java 5.0

Java Process
Getting Started
Simple Applet
Simple Application


Making WebPages
Java 5.0 Features
Advanced JVMs
Alt. Compilers
Alt. JVMs
Java Deployment

     About JavaTech
     Codes List
     Topic Index
     Course Guide
     What's New

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 Supplements section.

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 to java.sun.com/j2se/1.5.0/docs/guide/vm/class-data-sharing.html 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 errors.

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 networked applications.

References and Web Resources

Latest update: Oct.20.2004

Java in Science
    & Engineering
RealWorld Examples

Java in Physics
Sim. in Experiments
  Demo 1: Event
  Demo 2: Continuous
  Demo 3: Static

Learn by Coding

  Part I Part II Part III
Java Core 1  2  3  4  5  6  7  8  9  10  11  12 13 14 15 16 17
18 19 20
22 23 24

1  2  3  4  5  6  7  8  9  10  11  12

Tech 1  2  3  4  5  6  7  8  9  10  11  12
Physics 1  2  3  4  5  6  7  8  9  10  11  12

Java is a trademark of Sun Microsystems, Inc.