Excerpt
Welcome to the fourth edition of
The Java Developers Almanac. There was a time when I intimately knew all of the Java class libraries. I knew how it allworked and exactly how everything fit together. I knew what subclassed what, what overrodewhat, and so on (of course, it helped that I was one of the original developers:-). But aside from the occasional inability to remember which argument of Vector.insertElementAt() is the index, I rarely had to refer to any reference documentation.
Version 1.1 added 250 classes and my mastery of the Java class libraries was reduced tohalf. This left me feeling a little disoriented since I no longer knew my way around, and theincreased size of the libraries exceeded my ability to recall the details of the signatures.
Since I make my living writing Java code, it was important that I find an efficient way of"navigating" the new libraries. What I wanted was a quick overview of all of the libraries;something that covered every class and briefly showed their relationships; something thatwould allow me to explore and quickly learn about new packages. This need led to this book.
The Java Developers Almanac is like a map of the Java class libraries. It's a compactand portable tool that covers almost all of the libraries, if only from a bird's-eye view. It'sgreat for reminding you of things like method names and parameters. With today's class countat 3000, you're bound to forget a few details now and again. The almanac is great for discoveringthe relationships between the classes, such as determining all methods that return animage. It's also great for quickly exploring a new package.
While this book is comprehensive, the libraries are so vast that there simply isn't enoughroom to provide equally comprehensive documentation. So if you're working with a packagethat is new to you, you'll probably also need a tutorial book such as The Java Tutorial, SecondEdition (Campione and Walrath, Addison-Wesley, 1998), a detailed reference such as The JavaClass Libraries, Volumes 1 and 2 (Chan, Lee, and Kramer, Addison-Wesley, 1998), and/or theon-line documentation at http://java.sun.com/docs.
The book is divided into four parts, briefly described next.
Part 1: Packages
This part covers each package in alphabetical order: a brief description of the package, a descriptionof each class and interface in the package, and a hierarchy diagram showing the relationshipbetween the classes and interfaces in the package. This part is useful when you need an overviewof a package or want to see what other related classes are available in a package.
Most packages provide a number of examples demonstrating common usage of classes inthe package. The examples are designed to demonstrate a particular task using the smallestamount of code possible. Their main purpose is to show you which classes are involved in thedescribed task and generally how they interact with each other.
Part 2: Classes
This part contains 500 pages of class tables, one for each class in all the covered packages. Eachclass table includes a class tree that shows the ancestry of the class and a list of every member inthe class. Also included in the member lists are inherited members from superclasses. Thus youhave a complete view of all members made available by a class. This part is useful when you'realready working with a particular class and want a quick reference to all of the members in theclass. New for this edition are example numbers on some of the members. This number refers toan example that demonstrates the use of the member (or a related member).
Part 3: Topics
This part is a set of quick-reference tables on miscellaneous topics. For example, the topic title"Java 1.4" contains a detailed analysis of the API differences between Java 1.3 and Java 1.4.
Part 4: Cross-Reference
This part is a cross-reference of all of the Java classes and interfaces covered in this book. Thispart is useful when you have questions such as What methods return an Image object? or Whatare all the descendents of java.io.InputStream?
Updates
As the title suggests, this book is intended to be updated whenever a new major version of theJava class libraries is released. Since it is designed for you to use in your everyday programming-related work, I would love to hear how I could improve it for the next version or simplywhat you thought about it. Although I'm afraid I probably won't be able to reply, I promise toread and consider each suggestion I receive. You can reach me at the following e-mail address:
[email protected]
0201752808P02282002