Thinking in Java - Eckel Bruce (Pearson edu, 2012)