This page apparently has both "Thinking in Java" and "Thinking in C++" as being reader's choices for best book of 2002. I don't know which readers, other than that they are Chinese. Subscribe to the free OOP Newsletter from Bruce Eckel
The Java Tutorials are practical guides for programmers who want to use the Java programming language to create applications. They include hundreds of complete, working examples, and dozens of lessons. Groups of related lessons are organized into "trails".
How to Think Like a Computer Scientist by Allen B. Downey Think Java