Thinking in Java by Bruce Eckel. These are electronic books in HTML on C++ and Java and Patterns, along with the source code. The HTML books are fully indexed, using frames for easy navigation throughout the chapters, and have color syntax highlighting on all the source-code listings.Each download contains an entire book and source code in a single zipped file. To download click on the red text links

If you want to buy the actual books Try Here for the UK or Here for The USA.

Thinking in Enterprise Java
Thinking in Patterns
Thinking in Java, 3rd edition
Thinking in Java, 2nd edition
Thinking in Java, 1st edition
Thinking in C++, 2nd ed, Vol 1
Thinking in C++, 2nd ed, Vol 2