It's a compliment to say that this title resembles a telephone book. With over 1,000 pages (and printed on similar paper stock), The Java Developers Almanac, like a phone book, is organized alphabetically. Early sections look at Java 2 classes by package, such as graphics (including Java 2D), file I/O, network programming, and AWT and Swing. Early sections include several hundred short code excerpts, which provide key programming solutions.
The heart of this text is an A-to-Z compendium of over 2,100 Java classes, and a whopping 24,000 methods and properties. Readers get a listing of what's in each class, along with prototype and arguments. As an "almanac," the book contains no room for explaining what each method does--by using a clever set of symbols, however, each listing provides the details of each method (such as which ones are "final," "static," and the like), plus the version of Java in which each method first appeared (JDK 1.0, 1.1, 1.2, or 1.3). These reference sections set a new standard of clarity for documenting classes. (Method and property names are aligned in the middle of the page, regardless of return type; a typographic convention that makes it easy to find what you need quickly.)
Later sections provide useful references that list the changes from Java 1.0 through 1.3, as well as PersonalJava, the Java Native Interface (JNI), plus some of the details of the Java Virtual Machine (with a listing of byte codes). An innovative index cross-references all methods and classes (including where objects are used as parameters and return values). Truly encyclopedic and remarkably well organized, this book is a virtual must-have for any serious Java developer. --Richard Dragan
Topics covered: Comprehensive reference to Java 2, Standard Edition (J2SE) packages, classes and APIs (including 2,100 classes and 24,000 methods), sample code for common programming tasks, working with graphics and images (including Java 2D), playing audio and MIDI files, Abstract Window Toolkit (AWT) and Swing components, JDBC database basics, directory programming with JNDI/LDAP, file system and file I/O, using the Java reflection APIs, basic socket, URL and networking in Java; RMI working with Strings, arrays and collections; Unicode, locale and internationalization support; documented changes in JDK 1.0 through JDK 1.3, the Java Native Interface (JNI), classes included in PersonalJava, and Java Virtual Machine (JVM) byte codes.