Thinking in Java - Eckel, Bruce (New Delhi Pearson, 2012)