Effective Java - Bloch, Joshua (Addison-Wesley, 2008)