Java, Java, Java, Third Edition systematically introduces the Java 1.5 language to the context of practical problem-solving and effective object-oriented design. Carefully and incrementally, the authors demonstrate how to decompose problems, use UML diagrams to design Java software that solves those problems, and transform their designs into efficient, robust code. Their "objects-early" approach reflects the latest pedagogical insights into teaching Java, and their examples help readers apply sophisticated techniques rapidly and effectively.
This is very technically written, and it is innappropriate for beginners. I had to get another java book to supplement it. If you do not have at least some understanding of programming and technical terms related to programming, do not pick up this book.