Recommended as a book for the beginner and worth considering for the reading list of Java courses.
In its second edition this book has been updated to reflect the changes in Java 1.1. Part 1 covers Java basics starting right from fundamentals of architecture (some nice simple diagrams showing the compilation process, JIT and the JVM) through how applications and applets are built, using the JDK facilities then on to objects and the language (up to exception handling and threads). Part 2 covers APIs including utilities, the AWT (using the 1.1 event system from the start - the 1.0 event system is mentioned on page 395), animation, I/O and (basic) networking. Part 3 is 'advanced topics' covering the JVM, JDBC, JEFC (electronic commerce), Beans, servets, serialization and RMI and JavaOS (network computers, etc.) The text is supported by good diagrams, screen dumps and example programs and also contains highlighted 'Tips', 'Notes' and 'Warnings' giving useful advice, e.g where C/C++ programmers have to be careful and not assume to much similarity between C++ and Java syntax or semantics.
An easy to read book suitable for a complete beginner taking the reader through concepts at a steady pace and developing them into working programs (certain sections may be skipped or skimmed by readers with some programming experience). Apart from the AWT and I/O much of the advanced API coverage is at an introductory level and one would need second level texts for advanced work (even a 1000 page book cannot introduce a beginner to Java programming and also cover the 1.1 APIs to any great level of detail). Recommended as a book for the beginner and worth considering for the reading list of Java courses.