Pro Java Programming (2nd edition) by Brett Spell is a handy book for developers who know the basics but are fairly new to real world Java development. It should also be useful to intermediate-advanced users who want to brush up their skills or learn about the new things offered by J2SE 5.0.
The author does not spend time teaching you OOPS concepts or telling you how to write your first Java class. He instead starts the book by “going inside java”. The chapter about designing libraries, classes and methods stood out because of the many useful tips the author has to offer. What I particularly liked was that Brett Spell does not keep telling us known theory but instead provides practical and adoptable solutions. Brett has tried to keep things simple and provide content that can help on real projects.
For example, in case of method design, he says “Readability, extensibility and reliability are important and you should be hesitant to sacrifice those qualities for an alogorithm that seems elegant and clever unless doing so provides some important advantage to your aplication”
Seeing over 250 pages, over 1/3rd of the book dedicated to Swing, was unexpected. As most java developers are into enterprise Java these days and well away from Swing, the Swing sections I thought were not required. Cut out the Swing part and you would have a sleek and useful reference book instead of a 700 page giant costing $59.99. And anyway there are many ‘Swing Only’ books available.
The book I thought also could have had a chapter about simplifying design patterns and one that would help the reader graduate to J2EE or some other facet of Java.
The later chapters about annotations, JDBC and XML are useful. The chapter dedicated to Internationalization should be especially useful if you are working on applications that needs that capability.