"Beginning Java 2" is a well written book, over 1400 pages, that takes you by the hand and teaches you Java in a structured manner. In 25 chapters, it handles topic after topic in the most natural way starting at the very bottom and then building upwards. The chapters nearly all follow the same structure: a quick intro on what the chapter is about, a fair chunk of text explaining the topic at hand, interleaved with concise examples demonstrating the mechanism in source code in combination with clear walk troughs, and of course a summary and exercises.
"Beginning Java 2" is thorough. It really takes 750 pages before there is sufficient foundation to start topics on windows and GUIs. But, as windows and GUIs are heavily dependent on library code written by professionals, understanding the base concepts of Java 2 is really worthwhile.
Ivor Horton's "Beginning Java 2" is pleasant to read. The style is light, it addresses the reader as a fine class room teacher would do. I've read major parts on the couch, just like bed time stories after a hard day's work.
I was very happily surprised with Ivor Horton's book "Beginning Java 2". I'd tried to learn Java before, and made some attempts using Java-in-24-hours style books and thin tutorials from the Internet. That didn't work for me. Such material brings you really up to the level "monkey-see, monkey-do", without providing any oversight or the relation between concepts. "Beginning Java 2" allows me to make a real start with Java.
In summary: this is a great book to learn Java.