Thinking in Java - Eckel, Bruce (Prentice Hall, 2003)