Murach’s Beginning Java 2 by Andrea Steelman, Murach
This is a good book for beginners (as the name suggests). It does cover most of the areas that cause problems for beginners (like exception handling, event handling, etc.). The first two sections of the book give the beginner a very good understanding of the fundamentals of programming in Java. They explain the various Java constructs and how to use them. The third section touches GUIbuilding in Java. It covers the basics of the GUIconstruction in Java quite comprehensively (event handling, menus, layout managers, etc.), however it does not touch on the more complex components like JTree and JTable. The fourth section covers the file IO in Java in good detail. The last section covers the basics of JDBC and Thread management in Java. All in all, this is a good book for someone who wants to learn Java.