Bloch, Joshua. Effective Java. Upper Saddle River, NJ, USA: Addison-Wesley, August, 2005. ISBN: 0201310058
Similar to Effective C++, this book provides tips for the best Java design practices. I am not very experienced with Java, so it was very useful for me to learn many details and corners of the language that I was not familar with. I would recommend this to anyone who spends a lot of time hacking Java.