Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
News Books Media Book Reviews

Java Developers Almanac 1.4 Vol. 1 111

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.

This discussion has been archived. No new comments can be posted.

Java Developers Almanac 1.4 Vol. 1

Comments Filter:
  • Perfect (Score:4, Interesting)

    by jimmyCarter ( 56088 ) on Wednesday November 27, 2002 @11:34AM (#4767454) Journal
    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.
  • Cheaper on Amazon (Score:4, Informative)

    by ProlificSage ( 564094 ) on Wednesday November 27, 2002 @11:34AM (#4767458) Homepage Journal
    Check it out here [amazon.com] for $17.99 USD.
  • by Anonymous Coward
    1. Publish book on Java
    2. ???
    3. Bankruptcy
  • by Anonymous Coward
    At first I thought to post a standard "I hate Java 'cos it's slow" flamebait, but as I was writing it I suddenly felt empty and tired as if trolling had become devoid of any meaning.

    Then I realized what's wrong. I'm 31, I have a good secure job and I am financially well off. Yet, I am still a virgin, I've never even kissed a woman and I spend inordinate amounts of time on the web trolling Slashdot. Instead of this shit I could be chatting with my coworkers, making friends after work and actually having fun in the real world instead of downing a sixpack every evening alone at home and jerking off to some porn before I go to sleep.

    Goddamn I'm depressed. Life is hell.

    • by Anonymous Coward
      The holidays are hard on all of us.

      "us" being the slashdot virgins.

    • Hey, I'd rather be in your shoes.
      Imagine a geek with _very_ expensive hardware tastes, who can't get a job, and even gets turned down by Jack in the Box due to lack of experience, despite the fact I spent 4 years working a register.

      Not only have I never kissed a girl, I m poor and can't get a job to save my life. Now _that_'s depressing.
      • > Imagine a geek with _very_ expensive hardware tastes, who can't get a job, and even gets turned down by Jack in the Box due to lack of experience, despite the fact I spent 4 years working a register.

        Wow, you're preaching to the choire, brother. You have basically described me exactly. After graduating from college, I got turned down for all the good jobs of course, but I even got turned down for a job at Sears and Lowe's despite having a little over 3 years experience doing customer service and register and a local hardware store. Best Buy finally gave me a job, but they don't care much for my bachelor's degree and I don't think I fit the corporate culture very well...

        On the bright side, I have a girlfriend whom I love very much and have been serious with for quite some time. Best of all, she's a geek too (I saw her once take a wireless-enabled laptop to the shitter, which is something I have not done yet).
        • Hey, at least you have female companionship :)

          She may be a geek, but can she _integrate_ the wireless laptop with the toilet, so you can flush it from any internet-ready pc?
    • Here's a book [angelfire.com] that may interest you, although it's incomplete.

      As someone who understands, I say hang on, brother. Life has good things in store for us. You'll see.

    • Not all of us drink (anymore).
  • by sawilson ( 317999 ) on Wednesday November 27, 2002 @11:47AM (#4767562) Homepage
    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.

    Maybe it's just me, but I force myself to type in
    every example by hand from a book because I find
    I have better comprehension of the material down
    the road. But then again, I'm not "one who loves
    code". I'm more of the writing code to automate
    tasks type as apposed to a hardcore, sit in front
    of your favorite editor for 8 hours straight making
    elaborate things type person. Those guys are special
    in a weird but positive way. A guy I used to work
    with named Robert Sanders was the type that just
    looked at code and "got it". Definitely not my
    thang. He'd probably benefit from going to the
    website for a cut and paste.
    • Good try, Robert Sanders. We're still not going to hire you.
    • The Tao of Programming [canonical.org] - Book 4, Section 4

      Prince Wang's programmer was coding software. His fingers danced upon the keyboard. The program compiled without an error message, and the program ran like a gentle wind.

      ``Excellent!'' the Prince exclaimed, ``Your technique is faultless!''

      ``Technique?'' said the programmer turning from his terminal, ``What I follow is Tao - beyond all techniques! When I first began to program I would see before me the whole problem in one mass. After three years I no longer saw this mass. Instead, I used subroutines. But now I see nothing. My whole being exists in a formless void. My senses are idle. My spirit, free to work without plan, follows its own instinct. In short, my program writes itself. True, sometimes there are difficult problems. I see them coming, I slow down, I watch silently. Then I change a single line of code and the difficulties vanish like puffs of idle smoke. I then compile the program. I sit still and let the joy of the work fill my being. I close my eyes for a moment and then log off.''

      Prince Wang said, ``Would that all of my programmers were as wise!''
  • Checked it out (Score:5, Insightful)

    by Rew190 ( 138940 ) on Wednesday November 27, 2002 @11:47AM (#4767569)
    Looked like a good book for beginners or those who don't want to view Javadocs over the 'net.

    Unnecessary for anyone who's either comfortable with Javadocs or has done a moderate amount of OOP.

    As was stated, you can get just about everything in this book online directly from Sun, for free.
  • by Bemmu ( 42122 ) <{if.atu} {ta} {esimol}> on Wednesday November 27, 2002 @11:48AM (#4767579) Homepage Journal
    I have never understood printed API references. It's so much easier to be able to do a quick find on a computer. Reminds me of some Linux book that was just printed man pages. Yes I like reading real books rather than looking at a screen, but if I need to reference an API I'm already looking at the screen!
    • by west ( 39918 ) on Wednesday November 27, 2002 @01:11PM (#4768263)
      Online references are all well and good if you already know exactly what you are looking for. However, a printed manual is ideal for browsing. I read them over on the subway rides. I'm not trying to memorize every class and method name, just learn what classes and methods are available.

      I can then use online help to lookup the details later on. (The old "I know there's a class that does this...") Without the paper copy, it's far too likely that I'll only use classes that I have been made aware of in previous projects.

      It's also why I find the absence of printed manuals for many programs very annoying. Why bother to add a feature to a product when most of your users will never learn that the feature exists!
    • 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..
  • by Hirofyre ( 612929 ) on Wednesday November 27, 2002 @11:52AM (#4767617)

    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.
  • by GeckoFood ( 585211 ) <geckofood@nosPAM.gmail.com> on Wednesday November 27, 2002 @12:05PM (#4767705) Journal

    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.

    • 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.

      If it's anything like the HTML book I bought a few years ago, then the Java book is probably a compilation of various chapters from other, more in-depth books published by Sybex, and priced low (like $20). It's meant to be a "sampler" to entice you to shell out for the other titles. The only interesting chapter I found in HTML Complete was from Web Sites that Suck [websitesthatsuck.com], which was outdated probably before publication, and several of the chapters (and the CSS reference) were IE-specific, so I'm not sure it was a good buy even at 20 bucks.
  • by Anonymous Coward
    An impressive, 1000 page plus tome. It has four parts, but the first two are the bulk of the book. Part 1 lists each java package. Within a package, it tells of each class and interface and provides examples of how to do often needed tasks. You already need to know java to fully take advantage of this. Part 2 is an alphabetical listing of all classes, from all packages. For each class you can see its ancestors and all members of the class, with calling arguments and return values. Part 3 has miscellaneous topics; most usefully the difference between java 1.3 and 1.4 (the latest), as in the title. Part 4 is basically an index, being a cross reference of classes and interfaces.

    The sweep of the book is comprehensive and up to date. But of limited use. Part 2, which is half the book, differs in no material way from this URL- .... Sun makes this available on the web as an aid to java programmers. Other websites also publish it. In addition, you can copy the manual and have it available locally on your computer. My mode of programming involves bookmarking the URL and having a browser window dedicated to it during coding. Not just me. In various companies and universities, I've seen others do this.

    Are you old enough to remember log tables? These were books of logarithms, powers and trigonometric functions. Prior to the advent of pocket calculators, students would have their own copies. They were comprehensive and correct. Now totally redundant. That is what Part 2 reminds me of. Granted, if your computer has no web access, then you need the equivalent of Part 2. But how many programmers today cannot browse?

    The book needs to go on a diet.

    The three other parts do have some utility. At least you should be sure of that before purchasing

    #Wes
    • You do realize that not every workstation has access to the web, espescially when you consider that java is an EMBEDDED platform.

      And even those that do, it gets knocked out from time to time.

      Plus, many developers (myself included) like to do the bulk of our stuff in a 'sandbox', completely disconnected from the network at large.

      And how many programmers have WWW access in the toilet, where most research is done.
    • Who cares if the development computer has Web access - just because the JavaDocs are in HTML doesn't meen you have to be online to read them! Find an Internet connection, download the docs, put docs of development machine. Done, $25 and HOURS flipping through pages saved. I can't image developing in Java with a paper copy of the API docs. Flipping through pages sucks compared to clicking on hyperlinks! I can't see why anyone would want a paper copy of an huge API....
      • I use the html documentation, especially when I want to get a glimpse of how a method is working, but sometimes just pulling a book off the shelf and looking something up feels like the right approach. I've been a buyer of the Developers' Almanac series since the 1998 edition and will continue to buy future editions. Though, if there are to be future editions, I think the publisher should rethink the division between volume 1 and 2, especially if they are not available at the same time.

        (Though if these threads are any indication, the market for these books is disappearing. I think the original concept was for Addison-Wesley to provide annual updates, more like a real almanac, but the api's expanded immensely and stopped progressing on a timetable. It seems to be a lot of work to produce these and I wonder if recent editions sell as much as the ones for jdk 1.1 and jdk 1.2)

        Color me old-school, I still go over and look up words in the dead tree dictionary. I also find it easier to take in the whole page when it's portrait format rather than landscape. Certainly, it's my failure to get with the times in this brave new world.
  • Book (Score:2, Interesting)

    by jbmoll ( 629525 )
    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!
  • by hashmap ( 613482 ) on Wednesday November 27, 2002 @12:16PM (#4767768)

    I found the Almanach to be extremely useful in displaying the intended usage for many of the classes. Java builds on numerous desing patterns that can be overwhelming for a novice.

    For example just browsing the API I had a hard time figuring out how to use the crypto package to encrypt data. The almanac shows that in ten lines.

    In many respects the Almanach is superior to the "Java Cookbook" by O'Reilly because this latter spends way to much time on trivial implementations.

    The aspect that I don't like is the huge index(or listing at the end whatever that is). I found that to be totally useless. There are dozens of methods with identical names anyway so finding the one you need is easier to do on the package level in table of contents. This index makes the book unnecessarily bulky.

    i.

  • Why would I ever need to buy a book with the Java api [sun.com]? They aren't updated, don't have hyperlinks, don't support copy/paste, don't open to the correct page when I press help, and aren't free.

  • very helpful book (Score:3, Informative)

    by nuffle ( 540687 ) on Wednesday November 27, 2002 @12:20PM (#4767821)
    I have a copy of one of the earlier editions, and it quickly became one of the most ragged and tattered computer books i owned. Although there is more detailed info available in javadocs, having all the classes, methods, and members available in a print is very helpful. I found it much easier to quickly thumb to a certain class when I couldn't remember the order of some arguments or the name of an attribute.

    Just note that no method or attribute descriptions are included in the book, just the method signatures or the attribute types. You have to already know basically what everything does (or be able to deduce it from names), and just use this to jog your memory. So despite what some other posters say, this isn't a beginner's book.
  • by Capt_Troy ( 60831 ) <tfandango.yahoo@com> on Wednesday November 27, 2002 @12:22PM (#4767843) Homepage Journal
    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?)
    • 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.
      In my experience, you might want to get more experience.
      • All the major java compilers have a flag to alert the user when he/she is using deprecated methods.
      • The fact that deprecation is part of the language should tell you that Sun realizes forcing abrupt API changes is counterproductive.
      • 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.
      Having said that, I do agree with you that you shouldn't waste the money; only because the full APIs are free (and usable via HTML) from Sun. Only someone with a paper fetish may want a hardcopy of the API. You should buy a book that deals in depth on a topic concerning you (JDBC, threads, beginning, etc.)

      I carry knowledge of Java in my head for the same reason I carry a Leatherman: it's no good approaching every problem with only a hammer.

      Remember, paper is just a tree recycled.
      • by Capt_Troy ( 60831 ) <tfandango.yahoo@com> on Wednesday November 27, 2002 @05:39PM (#4770541) Homepage Journal
        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 :)
  • by peterpi ( 585134 ) on Wednesday November 27, 2002 @12:31PM (#4767932)
    "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."

    No! If the book was just what's here, it would be just a copy of information of information that is freely available on the internet!

    So many books on Java seem to include a copy of the Javadoc documentation. It's just a con to make the book look bigger.

    Well done Bruce Eckel for resisting this cheap tactic in the brilliant Thinking in Java.

    • Before writing that, did you consider that Thinking in Java is freely available on the internet? [bruceeckel.com]

      Fh

      Ps: Just to make it clearer, there might be reasons for buying a book composed of material that you may also get free on the Internet. According to Eckel's words, leaving the book online hasn't affected its sales.

      • No, I forgot about that! That said, I'd hate to read a book on my screen. APIs on the other hand are well suited to html; lots of jumping about from one function to another.

        The rest of this thread has answered my question though; plenty of people seem to buy stuff they know they can get online, just so they can browse during spare time. Forward planning, what a novel idea! ;)

  • I was wondering if it's worth picking this book up if one already has the Core Java 2 series.

    1.4 is obviously more updated than 1.2, but does that make my Core Java books obsolete in terms of API info? It's still got the concepts of Java (making it non-chuckable), but I am curious if I should pick this book up or just look on the Sun site to check out the new API additions.

    I guess it's only $20 or so...

  • by wormbin ( 537051 ) on Wednesday November 27, 2002 @01:32PM (#4768494)

    I see lot's of post saying things like why would I want to read this when I have the free 1.4 API javadocs online?

    I agree. The best books aren't copies of the API that tell you all the good things about the language. The best books show you the warts and gotchas of the language. For C++ this book was Scott Meyer's Effective C++ [powells.com]. Java has a similarly named and equally useful book Effective Java [powells.com] which I have found invaluable. Not as good but still worth the purchase price is Java Pitfalls [powells.com]

    I haven't read More Java Pitfalls [powells.com] Has anyone read this? Is it any good?

  • by dconder ( 79190 ) on Wednesday November 27, 2002 @02:00PM (#4768732) Homepage

    Section 1, 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.

    All the examples. [javaalmanac.com]

    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.

    Java 1.4 spec. [sun.com]

    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.

    I guess you would have to figure this part out yourself, but what real value is it anyway?

    I know, I know, it's nice to have this in book form, but the sooner you learn how to parse through what javadoc provides, the better. Especially if you are serious about learning/using java, you need to become familar with javadoc. Plus the APIs are still changing, and the Sun website will always have the most up-to-date information. It takes a while to get used to looking at documentation online, but once you are familar with it, you will be proficent in finding what you want in no time.

    The real value of the books seems to be the examples, but they are all on-line too.

    Seriously, don't buy this book. If you want something that will truely make you a better Java programmer, get Effective Java [barnesandnoble.com]. That book is worth its weight in gold.

  • It looks the author made a Web site full of examples, the wrote a Perl script to generate the book. Pretty clever way to sell 1000 pages of text, which anyone get free anyway!

  • Forget "JD Almanac", it's just trying to muscle
    in on David Flanagan's successful J in a Nutshell
    books. Flanagans' first five chapters make
    up the best overview/tutorial on Java.

    The Almanac copies Flanagan's format, but fails
    at the quality.
  • Its not from Wrox neither OReilly.

    If it came from O'Really... oh, they made it. Its called Java in a Nutshell: The Almanac, or something like that.

    I think Wrox made the same book too, with a twist. Its called: Professional Java Programming: The Almanac. And for each Java Package, theres a chapter about it. Written by a different author. Different authors arent that bad, since all of them come from India. Now this is bad.
  • I don't intend to troll and I'm sure you held a copy of that book in your hands but how can you seriously write it's concise ? I've seen it in a bookstore the other day and all I can say is that it's big, over 1000 pages and bulky. Regarding it contents, I think it's totally useless. If you install the Winhelp format of the Java documentation (there's one for the JDK1.4 but also the J2EE API and others) you will you find information much quicker (and it's free). A&W books are usually great but that one is a waste in my opinion.
    PS: You can find the Winhelp documentations at this address: http://www.confluent.fr/javadoc/javadoce.html [confluent.fr]
  • This book is pointless unless you see value in a hard copy of the JavaDocs. The best Java books I know of are: Thinking in Java and Effective Java. Other strong contenders are: The Java Cookbook and Java Examples in a Nutshell.

    All of these books explain the thinking behind the design of the language, the APIs, and common idioms. This is much more valuable information to express in the form of a book than is an API reference. A clickable API reference is freely available from Sun here: http://java.sun.com/j2se/1.4/docs/api/

    p.s.

    # comment processor
    while ( <> ) {
    if ( /(.*)(java sucks)(.*)/ ) {
    $uninformed_opinion=$1;
    $pointless_flamebait=$2;
    $blahblahwaaawaaa = $3;
    if ( do_i_care( $uninformed_opinion ) or
    do_i_care( $blahblahwaaawaaa ) ) {
    print "That comment was insightful and thoughtful.\n";
    }
    else {
    print "Piss off.\n";
    last;
    }
    }
    }

    sub do_i_care( ) {
    # not implemented yet, but this is a close
    # first approximation
    return 0;
    }

Beware of Programmers who carry screwdrivers. -- Leonard Brandwein

Working...