Slashdot Mirror


Java Developers Almanac 1.4 Vol. 1

Jason Bennett writes "The Java Developer's Almanac is an interesting cross-breed of a book. On one hand, it's a reference book for the entire Java 1.4 API, complete with a listing for every method in every class in the API. On the other hand, it's a mini-tutorial, as it comes with myriad examples of how to use various Java classes. In the end, though, it's a book geared toward the advanced Java developer, especially one facing a new part of the API who needs a little guidance." Read on for his review. Java Developers Almanac 1.4 Vol. 1 author Patrick Chan pages 1007 publisher Addison Wesley rating 7/10 reviewer Jason Bennett ISBN 0201752808 summary A concise reference to every class and method in Java 1.4, with examples for many.

What's the Book About?

The Almanac is divided into four main parts: packages, which covers every package in the core Java distribution, with the exceptions of the AWT, Swing, and printing; classes, which lists every class in alphabetical order, including all of its methods and fields; topics, which details the changes between each version of Java; and cross-reference, which allows you to look up every class, interface, and member type in Java 1.4.

Section 1, the package list, gives you every package in Java 1.4, every class inside those packages, the top-level description of the classes (from Sun's JavaDoc), a note of what JDK version the class was born in, an abstract/final indicator, and a hierarchy of the classes in the package. If this were all, it might be a nice, basic Java reference.

In addition to the strict listing, however, are hundreds of examples of how to use the classes; some basic, some obvious, and some you probably haven't seen.

The examples are extremely handy, if only to point out various utilities included with Java that you might otherwise not know about. With over 500 examples in the book, there's probably one you haven't seen or want to understand better.

There's also a website with all the code available at javaalmanac.com, so you don't have to type in every example you want to use in your code.

Section 2 provides a listing of every class in the covered packages in alphabetical order, along with all the signature of every public method in those classes. The book also cross-references every example in part 1 for each method. So, if you want to know how to better use ResultSet.afterLast(), you only need find the ResultSet class, and next to the afterLast() method are the two examples that use that method. With this easy organization, it's very straightforward to find any example you're looking for.

Part 3 goes through every major JDK release, starting at 1.0, and tells you everything you could possibly want to know about that release. You can find a statistical analysis of each release, including how many packages, classes, and members there are, how many classes in each package, new and removed classes and methods, deprecations, and all defined exceptions. I've certainly never seen a better or more compact reference on the differences between the JDKs.

Finally, part 4 gives a complete cross-reference for every class, interface and member mentioned. If you want to find every class that throws a ParseException, this is the place to find it.

What's Bad?

The one bad thing that strikes me about this book is actually just a simple question: Why should I use it when most of this information is at my fingertips in an IDE? Sun's JavaDoc is nicely thorough, and includes most everything in this book, the examples being a notable exception. Parts 3 and 4, of course, are not at all included in the JavaDoc, but I'm not sure how often I might need those sections.

So What's In It For Me?

If you're a down-and-dirty professional Java programmer, this book may very well be useful to you. The examples are quite handy, and as a reference to Java, it covers most anything you might need. Much of the information in the last two sections is hard to find in one coherent compilation. At $25 MSRP, it's an excellent value for all the information packed into the book.

Table of Contents
  1. Preface
  2. Part 1: Packages
  3. Part 2: Classes
  4. Part 3: Topics
  5. Part 4: Cross-reference

You can purchase Java Developers' Almanac 1.4 Vol. 1 from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

7 of 111 comments (clear)

  1. Perfect by jimmyCarter · · Score: 4, Interesting

    This is what I'm looking for when picking up a book to pick up a new language. Give me the class library API and some examples. For more advanced topics like multi-threading, I'm going to want something with maybe a little more depth and background on the topic.

    Whenever I'm developing Java or C#, I spend most of my research time just browing the base class libraries anyway, so I can't think of a better toilet-time companion.

    Thanks for the review.

    --

    -- jimmycarter
  2. Printed APIs and Java 1.4 comments by Hirofyre · · Score: 3, Interesting

    The one bad thing that strikes me about this book is actually just a simple question: Why should I use it when most of this information is at my fingertips in an IDE?

    I like having this sort of info in print, even though what you say is true, it is available from most IDEs. It is nice to be able to put a post-it note or write a reminder in some classes who's method signature are not too intuative.

    Having been a java programmer for 3 or so years, I think Java 1.4 is a big step forward, and a lot of the newer packages are great additions (the logging package, for example). The flexability of that package alone makes Java a lot more robust and attractive.
  3. Sounds better than... by GeckoFood · · Score: 3, Interesting

    Java Complete, by Sybex. That book touts itself as a cheap book to learn Java and even has a good dump of the APIs at the end of the book. That said, it has got to be one of the most poory assembled books on Java I have seen. There are a few glimmers of intelligence in there, but as a whole the book collapses under its own poor organization. It's also for an older version of Java...

    Hopefully the API listing is the only thing JDA has in common with Java Complete.

    --
    Be excellent to each other. And... PARTY ON, DUDES!
  4. Book by jbmoll · · Score: 2, Interesting

    How come people can keep creating new books on languages even though there are 10,000 books about it allready out there. They all pretty much repeat each other over and over. Use the newsgroups or web for some real help!

    --
    J Moll - PC Load Letter - I know what it means!-
  5. Don't waste the money by Capt_Troy · · Score: 3, Interesting

    Save it for LOTR TTT...

    I'm been tasked with Java development lately (and unfortunatly). In my experience, you buy a book detailing the Java API, then in half a year, it changes and your book is out of date and you can't use it for fear that you might end up using a depricated method. Just buy a java programming concepts book (but even these fade quickly) and use the Javadoc to get your API info. Spend the rest on movie tickets to support the MPAA (oops, did I say that?)

    1. Re:Don't waste the money by Capt_Troy · · Score: 4, Interesting

      Good points... My comments below:

      All the major java compilers have a flag to alert the user when he/she is using deprecated methods.

      This is true, however, better to use the non-depricated methods instead and if your reference is old, you won't be able to tell.

      If you start/started with 1.2 or later, the number of deprecated methods you are likely to see or have to migrate is in reality very small.


      I actually started with 1.1.6 and purchased an API book (stupid). Well, when 1.2 came out there was something like 2000 new classes and my books were totally useless. Since then, you are correct, very few depricated methods. But the book experience made me bitter :)

  6. Re:Printed API references considered harmful by n3m6 · · Score: 3, Interesting

    i found the exact opposite to be true. i learned php thru just the o'reilly pocket reference. its so much easier just to browse thru the functions and see what will suit where. and/or read it at some coffee shop just to learn what the language/library has to offer. since i know c++ i have to grasp on to java's API to learn it.. i think this book will do good for me..