The first book to arrive, and the only one I read right through, was Active Java. This is an introduction to Java aimed at those with basic programming competence but no experience with an object-oriented language. It works its way through the basics of the language, explains how to use the awt and net libraries, then introduces the Java Development Kit and the basics of writing applets and applications. It concludes with a chapter on Java internals. The stress is on covering all the important ideas and concepts rather than on providing details. Active Java is an easily followed and clearly laid out volume which I recommend for anyone wanting a broad overview of Java: I think it would also make a good textbook for an undergraduate course, though it lacks exercises and is perhaps not repetitive enough.
As a supplement to Active Java and a source of more detailed information, I used Exploring Java. This begins with a brief look at internals and security issues and then launches straight into a basic "Hello Web!" applet. It contains detailed descriptions of the basic classes and standard libraries and is clearly aimed at experienced programmers who want to learn Java in order to write serious applications.
I have only glanced at the three other books on Java that turned up: Java in a Nutshell (O'Reilly) looks like a reference for the serious Java programmer; On To Java (Addison-Wesley) is a textbook with an unusual layout, using points/paragraphs numbered sequentially throughout; and Learn Java on the Macintosh (Addison-Wesley) comes with a Mac version of the Java Development Kit on CDROM. But anyone after a book on Java should look around carefully: as even this small sample illustrates, there are books on Java for all sorts of niche markets. I wouldn't be at all surprised to see titles like From Common Lisp to Java for Amiga Users and 101 Implementations of Tetris in Java appearing.