Thinking in Java: The Definitive Introduction to Object-Oriented Programming in the Language of the World-Wide Web, 3rd Edition
Bruce Eckel'sThinking in Java—JavaWorld Editor's Choice Award for Best Book, 2001JavaWorld Reader's Choice Award for Best Book, 2000Software Development Magazine Productivity Award, 1999Java Developer's Journal Editor's Choice Award for Best Book, 1998Software Development Magazine Jolt Product Excellence Award (for Thinking in C++), 1995Thinking in Javahas earned raves from programmers worldwide for its extraordinary clarity, careful organization, and small, direct programming examples. From the fundamentals of Java syntax to its most advanced features (in-depth object-oriented concepts, multithreading, automated project building, unit testing, and debugging),Thinking in Javais designed to teach, one simple step at a time.The classic Java Introduction, fully updated for Java 2 version 1.4, with new topics throughout!New testing framework validates each program and shows you the output.New chapter on unit testing, automated building, assertions, logging, debugging, and other ways to keep your programs in tune.Completely rewritten threading chapter gives you a solid grasp of the fundamentals.350+ working Java programs, rewritten for this edition. 15,000+ lines of code.Companion web site includes all source code, annotated solution guide, essays and other resources.Includes entireFoundations for Javamultimedia seminar on CD-ROM for Windows, Linux and Mac.For beginners and experts alike.Teaches Java linguistics, not platform-dependent mechanics.Thorough coverage of fundamentals; demonstrates advanced topics.Explains sound object-oriented principles as they apply to Java.Hands-on Java CD available online,  with 15 hours of lectures and slides by Bruce Eckel.Live seminars, consulting, and reviews available.www.BruceEckel.comWhat people are saying—"The best book on Java...Your depth is amazing."  "Definitely the thinking person's choice in a Java book."  "One of the absolutely best programming tutorials I've seen, for any language."