Thinking In Java 2 - Bruce Eckel (Prentice Hall, 2000)