This book provides a thorough coverage of Java language basics and the core packages.
Jim Gosling designed Java (developed as part of a research project at Sun in the early 1990's) and as such can be considered an authority on the language. The second edition of this book has been updated to take account of developments in Java 1.1 (Francis reviewed the first edition in C Vu September 1996).
After a chapter introducing Java and OO concepts there are three chapters on the OO development features of Java (implementing classes, inheritance and interfaces) followed by chapters on operator/expressions and control structures. Chapters are then devoted to exceptions, strings, threads, packages and documentation. The core Java packages are then described covering I/O, utilities, systems programming, Locale, etc. Although many of these features are described at a usable level of detail some are very brief and one would need further texts, e.g. on the AWT, networking, beans, JDBC, etc.
This book provides a thorough coverage of Java language basics and the core packages. Although the book claims to teach Java to people familiar with basic programming concepts I think the first four chapters would pose difficulties to anyone not familiar with OO concepts. In addition, much of the sample code is fragments of programs to illustrate points in the text (I think beginners to a language need see complete programs).
In fact the book reads more like a reference and as such I found it very good (the index is very detailed). The explanations are clear (tending to be terse which I prefer) explaining now only how but why, together with plenty of relevant code. Well worth considering as reference to the language.