Book Recommendations
Books are some of the best resources we have available though, and I do have some strong opinions on what I like and what I don't like. Particularly in the Java market, where new books get churned out regularly, there's a need to separate the wheat from the chaff. Hence my decision to go ahead and provide a page of my personal book picks.
Some of the books I've listed here are published by Prentice Hall (who published my book), and some are published by others. Some are even competitors to my book. But all have earned a place on my shelf, and I have no qualms about personally recommending any of them.
I hope you find them as useful as I have. I've provided brief descriptions of why I think the books listed below are valuable; you can click on the cover image to jump to the book's page on Amazon.com. You can help support this website (hosting charges, etc.) by clicking through to buy from Amazon!
(This list is just Java books. I've also provided a list of technical (and pseudo-technical) books that aren't Java related but that I think are outstanding.)
Jini Books
Well, clearly I'm more than a little biased about this book. But I
do feel that it gives a fine treatment of the topic. I've got a
separate page that gives some more details
on Core Jini, so you can see for yourself if you think it might
be useful. The Second Edition of the book is just out, and is fully
updated for Jini 1.1.
|
NEW! This book has coverage of Jini 1.1, as well as lots of great information
on essential Java networking technologies (all the way from raw sockets
up to RMI and IIOP). The book's got a very practical feel, and covers
the mechanics of implementing lease grantors, and transaction participants
(the latter, I believe, isn't well-covered by any other Jini book).
One of the things that makes this book so interesting is that the second part of it is filled with a number of "real world" case studies of Jini in action. These include everything from remote access to medical data to car instrumentation to agent frameworks. |
Despite its title, this book contains more than just the Jini
specifications. It also includes a fine introduction to the Jini
technology, and Jim Waldo and crew's fine A Note on Distributed
Computing, which frames the issues that the Jini team felt were
not addressed by earlier distributed computing technologies. The new
Second Edition is fully updated for Jini 1.1.
Of course, the specs are also here, and will be useful for any hard-core Jini programmers. While the specs are also available freely as a part of the Jini Starter Kit from Sun, I find that having a bound copy is useful. |
JavaSpaces is a service that fits into the Jini framework and can
provide persistent storage and interchange of objects for Jini
applications. Beyond this, it can also serve as a model for a
new style of distributed computing applications.
The JavaSpaces book is a real gem--it covers far more than just the APIs for Sun's JavaSpaces service. It digs into the paradigm behind JavaSpaces, and how to use this service as the foundation for distributed applications. If you're progressing from Jini into this particular service, this is the book to have. |
NEW! This book is an updated version of Jan Newmarch's
excellent online tutorial on Jini.
The tutorial is great, and is how many people have started learning
about Jini technology; the book is up to date, and includes coverage
of how Jini integrates with Enterprise Java Beans and CORBA.
Highly recommended, step-by-step guide to getting started with Jini. |
Jini in a Nutshell:
Jini in a Nutshell follows in the O'Reilly
tradition of consise books with a nuts'n'bolts flavor. The book has
coverage of activation, setting up to run Jini services, and all the basics.
The second half of the book is a Jini reference.
The book seems to be in limited availability right now, which is a shame since it's a great book. |
The best Java book yet written. If you're familiar with Scott Meyer's excellent Effective C++, this is a comparable work for Java, written by Josh Bloch, who was the technical lead for many of the Java class libraries. It's filled with concrete patterns and tips that are specific to the Java language. Really great; very readable and eminmently useful. I can't say enough good things about this book. At JavaOne 2001, James Gosling said, "Go buy this book!" I'm glad I did, and I couldn't agree more. |
Core Java is perhaps the definitive general-purpose Java book.
The version here has
recently been updated to reflect changes in JDK 1.4.
Lots of details, lots of coverage, lots of sample programs.
The book is massive, and makes a great extended resource to the language, perfect for someone who's just finished, say, Just Java, or for experienced programmers who need one-stop shopping for Java information. |
NEW! The third edition of this great book has
just come out, and is completely up-to-date with the recent changes to
the Java language (floating point changes, new collection framework,
etc.) I was a technical reviewer on this edition, and I think
it's the best one yet. The Java Programming Language is to Java what the "K&R" book was to C: a concise introduction of the language designed for programmers who need to understand the basics. There aren't a lot of tutorials, coverage of the class libraries, or sample programs here--just the bare minimum on the language itself. But for questions about Java the language (as opposed to Java the class libraries) this book is without peer. Definitely for experienced programmers. |
If you're looking for a great introductory Java text, I have no reservations about recommending Just Java, by Peter van der Linden. Peter's books all reflect his own personal style--a bit of humor, and concise and understandable explanations of the material. This book covers the language, class libraries and "big ideas" behind Java, and is updated for Java 2. This book is a nice contrast to both the Java Programming Language (which is a quick, bare-bones coverage of the language) and Core Java (which provides incredibly in-depth detail and tutorial material on all aspects of the language). |
The author of this book, Li Gong, is the chief security architect
at JavaSoft, so you can believe that it's authoritative. This book
delivers the goods on all aspects of Java security.
As you know if you've read Core Jini, I go into just enough details on security to allow you to get by, and recommend doing some external reading if you need to do more. This is definitely the book I recommend for the low-down on security. |
The Java Class Libraries: Wow. In my humble opinion, these three volumes are, out of everything
else here, the absolute requirements on any Java programmer's shelf. These
books are simply unbelievable--complete coverage of the entire set of
Java class libraries, with an insane number of example programs.
These sit handy, right next to my computer, for whenever I need to
figure out how some aspect of the class libraries works.
The supplement for Java 2 recently came out, with provides another 1100 pages or so of Java 2-specific coverage and examples. You need all three. |
This is the only book on Swing that I own and it's been invaluable.
Swing is a rich--and large--set of APIs, and the javadocs and online
tutorials just didn't cut it for me. This book has loads of examples
and does a great job of covering even the sticky details around
complex components like JTable and JTree.
There's apparently a second volume of this one on the way and I plan to pick it up as soon as it hits the streets. |
Keith Edwards
kedwards@kedwards.com