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