Recently I bought book I wanted to read for a long time, polish translation of “Effective Java (2nd edition)” by Joshua Bloch. I found many very positive opinions and reviews (some from Amazon) about this title and after more than 250 pages I can say one thing:
If most programmers consider Core Java book to be the best one for beginners, they should think about “Effective Java” as the best book for intermediate and more advanced Java programmers.
After this book my awareness about how good Java code should look like improved a lot. I learnt a lot of interesting and useful approaches to developing code in different situations. And, in spite of being heavily packed of knowledge, I can not say that reading this book was difficult. It was a nice lecture although some topics are more complicated and forced me to slow down and analyse paragraphs one by one.
Advice presented by the author are useful to any programmer, even for those considering themselves as very experienced Java masters. I am not yet at such level, so I found many tips and tricks inside 🙂 In my opinion the most interesting chapters are those about new objects creation, using Enums and introducing generics to methods and classes. The most boring part of book is chapter about serialization, but probably mainly because of my lack of experience in this area.
Very nice thing about Effective Java book is its modularization. Every topic is autonomic part and can be read separately. If some areas are not interesting for you, you can skip them and continue reading in other place without finding yourself in a dead end because something was explained in chapter you skipped.
I consider this book as really, really good position to read. Advice which can be found inside will be helpful for every Java developer, so I suggest that you should buy it and place it in your home library.