Many people helped in the creation of this book, and I am grateful to them all. I am indebted to the many, many readers of the first four editions who wrote in with comments, suggestions, bug reports, and praise. Their many small contributions are scattered throughout the book. Also, my apologies to those who made many good suggestions that could not be incorporated into this edition.
Deb Cameron was the editor for the fifth edition. Deb edited not only the material that was new in this edition but also made the time to carefully read over the old material, giving it a much-needed updating. Deb was patient when my work on this book veered off in an unexpected direction and provided steady guidance to help get me back on track. The fourth edition was edited by Bob Eckstein, a careful editor with a great sense of humor. Paula Ferguson, a friend and colleague, was the editor of the first three editions of this book. Her careful reading and practical suggestions made the book stronger, clearer, and more useful.
As usual, I’ve had a crack team of technical
reviewers for this edition of the book. Gilad Bracha of Sun reviewed
the material on generic types. Josh Bloch, a former Sun employee who
is now at Google, reviewed the material on enumerated types and
annotations. Josh was also a reviewer for the third and fourth
editions of the book, and his helpful input has been an invaluable
resource for me. Josh’s book Effective
Java Programming Guide (Addison Wesley) is highly
recommended. Neal Gafter, who, like Josh, left Sun for Google,
answered many questions about annotations and generics. David Biesack
of SAS, Changshin Lee of the Korean company Tmax Soft, and Tim
Peierls were colleagues of mine on the JSR-201 expert group that was
responsible for a number of language changes in Java 5.0. They
reviewed the generics and enumerated type material. Joseph Bowbeer,
Brian Goetz, and Bill Pugh were members of the JSR-166 or JSR-133
expert groups and helped me to understand threading and concurrency
issues behind the java.util.concurrency
package.
Iris Garcia of Sun answered my questions about the new
java.util.Formatter
class that she authored. My
sincere thanks go to each of these engineers. Any mistakes that
remain in the book are, of course, my own.
The fourth edition was also reviewed by a number of engineers from
Sun and elsewhere. Josh Bloch reviewed material on assertions and the
Preferences API. Bob Eckstein reviewed XML material. Graham Hamilton
reviewed the Logging API material. Ron Hitchens reviewed the New I/O
material. Jonathan Knudsen (who is also an O’Reilly
author) reviewed the JSSE and Certification Path material. Charlie
Lai reviewed the JAAS material. Ram Marti reviewed the JGSS material.
Philip Milne, a former Sun employee, now at Dresdner Kleinwort
Wasserstein, reviewed the material on the JavaBeans persistence
mechanism. Mark Reinhold reviewed the java.nio
material. Mark deserves special thanks for having been a reviewer for
the second, third, and fourth editions of this book. Andreas Sterbenz
and Brad Wetmore reviewed the JSSE material.
The third edition also benefited greatly from the contributions of
reviewers who are intimately familiar with the Java platform. Joshua
Bloch, one of the primary authors of the Java collections framework,
reviewed my descriptions of the collections classes and interfaces.
Josh was also helpful in discussing the Timer
and
TimerTask
classes of Java 1.3 with me. Mark
Reinhold, creator of the java.lang.ref
package,
explained the package to me and reviewed my documentation of it.
Scott Oaks reviewed my descriptions of the Java security and
cryptography classes and interfaces. The documentation of the
javax.crypto
package and its subpackages was also
reviewed by Jon Eaves. Finally, Chapter 1 was
improved by the comments of reviewers who were
not already familiar with the Java platform:
Christina Byrne reviewed it from the standpoint of a novice
programmer, and Judita Byrne of Virginia Power offered her comments
as a professional COBOL programmer.
For the second edition, John Zukowski reviewed my Java 1.1 AWT quick
reference material, and George Reese reviewed most of the remaining
new material. The second edition was also blessed with a
“dream team” of technical reviewers
from Sun. John Rose, the author of the Java inner class
specification, reviewed the chapter on inner classes. Mark Reinhold,
author of the new character stream classes in
java.io
, reviewed my documentation of these
classes. Nakul Saraiya, the designer of the Java Reflection API,
reviewed my documentation of the java.lang.reflect
package.
Mike Loukides provided high-level direction and guidance for the first edition of the book. Eric Raymond and Troy Downing reviewed that first edition—they helped spot my errors and omissions and offered good advice on making the book more useful to Java programmers.
The O’Reilly production team has done its usual fine work of creating a book out of the electronic files I submit. My thanks to them all.
As always, my thanks and love to Christie.
David Flanagan http://www.davidflanagan.com March 2005
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.