The book is well written and presented and I liked the prominence given to design, which is very important for professional programmers.
This second level text aims to give developers who are already proficient in Java, information and skills to develop large-scale real world applications.
The authors consider that the Java community places too much emphasis on 'silly bandwidth-wasting' applets rather than its use for producing business solutions (I agree with them - many introductory Java texts relegate applications to the final couple of chapters). To this end the book starts with a review of OO programming and planning the development of an application (rather then rushing into code). The importance of design and incremental delivery (which I would call prototyping) in modern business systems is emphasised (to ensure that the customer gets what they want). The main topics of Java (the AWT, data structures, I/O, networking, distributed computing and threads) are then covered. Final chapters cover specialised topics such as interfacing to C++, Java Beans, Servelets and JDBC. Booch diagrams are used throughout the book and there are plenty of example programs. The CD contains JDK 1.1 beta2, source code from the book, utility programs, etc.
Although the depth of coverage of advanced topics is not as good as specialist texts (there are now texts devoted to the AWT, advanced networking, threads, JDCB, Java Beans, etc.) this would give the reader of good overview of typical applications. This book was written during the development of JDK 1.1 so coverage of new topics is limited, e.g. RMI, serialisation, JAR, introspection, JIT and new APIs are only mentioned or covered very briefly. The book is well written and presented and I liked the prominence given to design, which is very important for professional programmers.