This book was a refreshing change from much of the drivel written about Java.
This is one of the best-written introductory Java books I've ever read! It has plenty of good points and just a couple of slightly bad points.
The book is aimed at beginner/intermediate programmers starting out with Java using the JDK1.2 environment (now Java 2!). It teaches Java from the ground up. It is divided into eight sections that range from the initial Getting Started to the final Advanced Java and progresses through these sections at an intelligent pace. It provides coverage of the Java programming language and some of the major packages - especially Swing. The later sections cover topics such as JavaBeans, JDBC and JNI. Even after having used it as a learning aid it will make a useable reference.
What I found quite surprising was that the book even includes reasonable introductions to OOA, OOD and UML! I got the impression that the author is a seasoned programmer/trainer who recommends good programming practice. As I was reading the book it actually made me think 'I hadn't thought of that'!
The two bad points are predominantly stylistic issues that neither I or JavaSoft agree with; class names and symbolic constants. The author recommends prefixing class names with a T - e.g. 'TCar' rather than just 'Car'. He also recommends using mixed case for symbolic constants - e.g. 'kConst' instead of 'CONST'. I would like to see the next edition follow the practices recommended by the Java Language Specification.
Other notable points about the book include; it's cheap for its page count, it does NOT include the usual 'obligatory' CDROM and it has comprehensive indices.
This book was a refreshing change from much of the drivel written about Java. It is obvious the author has put in a great deal of work to produce a book that goes beyond the usual regurgitation of Javadoc documentation with examples. Recommended.