I bought this book (at Eyrolles) about one month ago and nearly went through all of it.
The author, Josh Bloch, is writing code from an API designer’s perspective. It is not easy to view everything from this perspective at first, but after reading most of it APIs will become more transparent when used and you will even save precious time when writing your own.
My favorite chapters are:
- 4. Classes and interfaces
- 6. Enums and Annotations
- 8. General Programming
Some chapters may not be crucial, like the one about serialization, but other chapters are worth reading for everyone.
Because you can read chapters in any order you will probably find this book easy to read. My approach is to read a chapter and apply what I have read, then I go on reading another one.
What struck me is that this book is a must read for intermediate java developers because it goes beyond mere Java syntax and gives some advice that is valid for any object-oriented language. You will keep coming back to it while programming, so keep it close.