I had this chat with OJB the other day:
Yep, Effective Java by Joshua Bloch is a great book. But I've only skimmed OJB's copy, I haven't got around to buying my own copy yet. And I'm not sure if I will; now-days I tend to Google first and ask questions (or buy books) later.
The one book I want to pick up is The Pragmatic Programmer by Andrew Hunt and David Thomas. I'm much more interested in books about the craft of programming and software engineering than I am about particular API's, or even paricular languages.
Anyway, the answer to OJB's question "name my must-have Java book" the answer is "I don't have one; I don't own one. Google Is Your Friend".