[   ^ to CSE 341 resources...   |   ^ to java resources...   ]

Some brief Java book reviews

If you want to explore Java on your own, or if you're going to be using Java a lot in the future, here are a few Java books that might be worth examining. As always, caveat emptor.

Disclaimer: the following are personal opinions by the TA(s) who compiled this list (initially Keunwoo, but others may have added as time went by). They do not represent an endorsement by the Department of CSE, the University of Washington, or the State of Washington. The offsite links to vendors are for your convenience only, and do not represent an endorsement either. I am not personally affiliated with any of the vendor sites to which the following links point.

Object-Oriented Programming in Java, Timothy Budd
[ Amazon | Barnes & Noble | Bookpool | Borders | Digital Guru | Fatbrain | Powells ]

One of the better tutorial introductions to OOP, Java, and the Java graphical user interface libraries. We used this as our standard textbook in Spring 2000. Make sure you get the updated edition (orange cover), not the first edition (slate-gray cover).

The Java Programming Language, Ken Arnold & James Gosling
[ Amazon | Barnes & Noble | Bookpool | Borders | Digital Guru | Fatbrain | Powells ]

Arnold Gosling is the creator of the Java language, and this book is a pretty good reference. Unlike Budd, the Arnold/Gosling book does not teach object-oriented design; nor is it the best tutorial introduction to Java. However, when you want a concise description of the Truth about some Java language feature, Arnold and Gosling is the place to look. My copy is dog-eared from constant use back when I was learning Java.

By the way, you definitely want the most recent edition available. Each major revision of Java contains many features not found in previous editions!

Downloadable documentation from Javasoft@Sun

Okay, so this is not a book, but the downloaded documentation can serve as an online replacement for all the reference books below. Try the docs, you'll like them. And, of course, they're free.

Also of interest are the various online versions of the Java books. Sun has helpfully made many of the books in the Java series available directly online. Click on the monitor icon (if present) next to a book's title to read it online.

Assorted reference texts

Java Class Libraries, Vol. 1 and 2, by Patrick Chan, Rosanna Lee, and Douglas Kramer:
    Vol 1: [ Amazon | Barnes & Noble | Bookpool | Borders | Digital Guru | Fatbrain | Powells ]
    Vol 2: [ Amazon | Barnes & Noble | Bookpool | Borders | Digital Guru | Fatbrain | Powells ]

Java in a Nutshell, 3rd ed., by David Flanagan:
    [ Amazon | Barnes & Noble | Bookpool | Borders | Digital Guru | Fatbrain | Powells ]

Java Foundation Classes in a Nutshell, by David Flanagan:
    [ Amazon | Barnes & Noble | Bookpool | Borders | Digital Guru | Fatbrain | Powells ]

Java Developer's Almanac
    [ Amazon | Barnes & Noble | Bookpool | Borders | Digital Guru | Fatbrain | Powells ]

If you really can't stand using HTML documentation, these books provide library reference documentation in print form. In my opinion, there's no really great library reference in print, where I define "great" as (a) a reasonable size to carry around and (b) having concise descriptions of each method in each major class. Instead, we have the books above (as I've noted, the HTML docs are excellent and take up no space at all.)

The Chan texts provide hardcore, in-depth descriptions of the class libraries and their methods, along with usage examples. Though expensive and mammoth-sized, the Chan texts are very comprehensive.

The Nutshell Handbooks, on the other hand, have more limited utility. They basically just list the profiles of methods in the standard classes, so they're good only for refreshing your memory if you've forgotten the profile of some random API method. On the other hand, they'll fit in your backpack. "Java in a Nutshell" covers general-usage classes, the JFC book covers graphics and AWT classes (these used to be one book, but then Java got fat and O'Reilly got greedy).

The Java Developers Almanac 2000 has, in a single backpack-ready volume, exhaustive listings of member functions etc. for basically every class in the Java standard libraries. Be warned, however: the background information for each class is even sparser than in the Flanagan books.


Comments to
cse341-webmaster@cs.washington.edu
Last modified: Tue May 22 13:21:14 PDT 2001