Paul's Java Bookshelf

There are a lot of books on Java out there, but very few that are worth owning. I've been programming in Java since the days it was in beta, and from time to time people ask me to reccomend good Java books to them. I put this web page together to help other cut through the crap. Here you'll find books aimed at beginners and books aimed at advanced programmers. The hyperlinks in this page are links to the physical books: we sell books in association with amazon.com which means that you get at least a 20% discount and the books are shipped right to your door. You can't beat the convenience.

Tutorials

Core Java 1.1 : Fundamentals
by Cay S. Horstmann, Gary Cornell

This is Sun's own tutorial book on Java. It's quite good. Aimed at programmers who are already familiar with another language, this book teaches the syntax of the language, a little about object-oriented thinking and a lot about the java API's. This book is particularly strong because it teaches you how to use new features in JDK 1.1 such as inner classes. This is a great place to start.


Core Java 1.1 : Advanced Features
by Cay S. Horstmann, Gary Cornell

Now you've learned the basics, but you'd like to learn a little more? This is the book for you. It covers streams, threads, and networking as well as advanced JDK 1.1 features such as JDBC, RMI, CORBA and Java Beans.

Reference

Java in a Nutshell: Second edition
by David Flanagan

If you're looking for an inexpensive reference book on Java, this is the best you can get. The first Java book I ever bought was the first edition of this book, solely on the strength of the publisher's reputation (O'Reilly); I was not disappointed. Edition 2 has been updated to cover JDK 1.1

Threads

Java Threads
by Scott Oaks, Henry Wong

Having trouble getting your windows to repaint? Are your applets really slow when they transfer information over the net? High-performance GUI and network progamming in Java requires an understanding of threads. No worry, we've got two great books on the subject. Do you know the words race condition, mutex and deadlock? If so, you won't need this first book. Java Threads is aimed at a programmer who knows little or nothing about threads and explains all the concepts. It's particularly strong because it explains more about the details of how threads work in Java than you can find in any other place.


Concurrent Programming in Java : Design Principles and Patterns
by Doug Lea

Many programmers feel this is the most beautiful book about Java you can get today. The previous book covered the mechanics of threading in Java. This book covers object-oriented design with threads. Not just how to use threads, but how to use them well in reusable systems. This book will teach you a lot about object-oriented design in general. I will have to warn you that this book is a little advanced and that if you don't already know the basic concepts of threading you'd be better off reading the previous book first.

Object-Oriented Design

Design patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides

My favorite thing about Java is that it's a wonderful language for object- oriented design. Although this book isn't about Java in particular, no Java programmer who reads this book will ever code the same way again. Design Patterns is a catalog of strategies that programmers use to solve recurring problems in design. For the first time it gives us a vocabulary for discussing the decisions we make when designing software. A great book.

Java is a trademark of Sun Microsystems. Books sold in association with amazon.com.
 

 

Copyright © 1997 honeylocust media systems, contact houle@msc.cornell.edu