As a visit to the computer section of any major bookstore will reveal, a great many books on the Java computer programming language have been published since 1995, when the language was first introduced. There are many introductory books to choose from, all presenting basically the same information: fundamental Java concepts, constructs, and syntax, but varying in their clarity, insightfulness, and approach. For advanced or specialized topics, often only a few choices are available, varying in their depth and choice of examples. The purpose of this annotated bibliography to assist students of Java in choosing among these offerings.