The first edition of Just Java was one of the earliest books to accompany the original release of Java in 1996. The launch of Java coincided with the explosion of interest in the web and the net which, in turn, drove technology forward at a frantic pace. People talked about “Internet time,” which meant three things to me in Silicon Valley: there was immense pressure to rapidly create new hardware and software products; everyone wrote software to display stock prices on their desktops and cell phones; you were forgiven for not showering if you fell asleep at your desk after midnight and woke up there the next morning. Times have changed, but software productivity remains a big reason behind Java's popularity.
Over the last eight years Java has had six major releases, averaging one about every 18 months. With each of these releases, there has been a new edition of Just Java to describe and explain the technology. Table 1 shows how the language and libraries have improved.
Table 1. Java changes from JDK 1.0.2 to Java 2 v1.4
Release |
Date |
Content |
See Just Java 6th ed. |
---|---|---|---|
JDK 1.0.2 |
Jan 1996 |
First general release of the language and libraries |
Throughout the book |
JDK 1.1 |
Feb 1997 |
Language changes: |
|
Instance initializers |
|||
Array initializers |
|||
Nested classes |
|||
Library changes: |
|||
Delegation based event-handlers |
|||
I/O Readers and Writers |
|||
Object serialization |
|||
JDK 1.2 (rebadged to Java 2) |
Dec 1998 |
Language changes: |
|
strictfp |
|||
Weak references |
|||
Library changes: |
|||
Java Foundation and Swing |
|||
Collection classes, JDBC enhancements |
|||
Thread local storage |
|||
Java 2 v1.3 |
May 2000 |
Performance and bug fixes, no significant changes |
Throughout the book |
Java 2 v1.4 |
Dec 2001 |
Language changes: |
|
Assert statement |
|||
Library changes: |
|||
Regular expressions |
|||
New I/O (third attempt) |
This is a remarkable pace of development for a programming system, particularly when Sun keeps such an emphasis on backward compatibility and portability. The Java 1.2 release was a significant one, bundling major functionality improvements like the collection classes and the Swing GUI library. Java 1.3 and 1.4 were comparatively smaller, although 1.4 did bring a new statement (“assert”) into the language.
Two and a half years in the making, Sun wanted to make a big splash with its latest release of Java. So Sun switched the name from the confusing old brand of "J2SE version 1.5" to the confusing new brand of "J2SE version 5".
The mysterious "2" slipped in there in 1998, when Sun changed the name at the last minute to emphasize the difference between standard Java and the nonportable version that Microsoft had deviously created. That's all water under the bridge now, and everyone wishes that Sun would use a sensible, simple version number, like "Java 5". But instead, "J2SE version 5" it is. Well, whatever name the marketing geniuses at Sun apply, this release is the biggest and most significant so far. Table 2 on page xxi shows some of the substantial language additions.
Table 2. Java 2 v1.5
Release |
Date |
Content |
See Just Java 6th ed. |
---|---|---|---|
J2SE 5.0 |
Jun 2004 |
Language changes: |
|
Autoboxing and unboxing |
|||
Enum types |
|||
Generic types |
|||
Variable-arity methods |
|||
Static import |
|||
Enhanced for loop |
|||
Covariant return types |
|||
Library changes: |
|||
printf (like C's printf) |
|||
java.util.scanner (fourth attempt at fixing I/O) |
|||
java.util.concurrent thread utilities |
|||
javax.xml XML support bundled |
|||
Class data sharing |
|||
Can add Swing components directly to a Container! |
There are also the traditional bug-fix, library and performance improvements, including some exciting optimizations for desktop applications.
Over the years, I've put a lot of hard work into unlocking the changes in Java, so you don't have to. You're looking at the results of that effort: the sixth edition of Just Java.
I'm confident you'll find it easy to read, and packed with the information you need.
I hope that you'll want a copy for yourself.
But if not, I want you to put it back on the shelf, only (as my friend Alan Abel suggested) in a more prominent position.
— P.
18.117.7.131