Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Thinking in Java

Thinking in Java

by Bruce Eckel

See All Formats & Editions

Bruce Eckel's Thinking in Java

  • JavaWorld Editor's Choice Award for Best Book, 2001
  • JavaWorld Reader's Choice Award for Best Book, 2000
  • Software Development Magazine Productivity Award, 1999
  • Java Developer's Journal Editor's Choice Award for Best Book, 1998
  • Software Development Magazine Jolt Product Excellence


Bruce Eckel's Thinking in Java

  • JavaWorld Editor's Choice Award for Best Book, 2001
  • JavaWorld Reader's Choice Award for Best Book, 2000
  • Software Development Magazine Productivity Award, 1999
  • Java Developer's Journal Editor's Choice Award for Best Book, 1998
  • Software Development Magazine Jolt Product Excellence Award (for Thinking in C++), 1995

Thinking in Java has 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 Java is 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 entire Foundations for Java multimedia 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.

Editorial Reviews

The Barnes & Noble Review
Wonderfully organized, full of high-quality examples, and polished to reflect today’s best practices, Bruce Eckel’s Thinking in Java, Third Edition may be the world's best way to learn Java.

Previous editions have earned worldwide praise and prizes -- notably the Java Developer's Journal Editor's Choice award, and Software Development's Productivity Award. This new Third Edition is the best yet. Yes, it fully reflects Sun’s recent Java 2 SDK 1.4 release. But if you’re accustomed to “run of the mill” programming books, you’ll be astounded at how much attention Eckel has given to improving the coverage of features that haven’t changed.

Among this book’s strengths have always been its structure and careful choice of topics. In this edition, Eckel thoroughly revisits both, to ensure that the book still give programmers a rock-solid grasp of today’s fundamentals. For instance, while most authors would’ve been thrilled with the multithreading coverage presented in earlier editions, Eckel has thoroughly rewritten this chapter (now renamed “Concurrency”) to offer far deeper insight for real-world development.

Even more important, Eckel has increasingly recognized the crucial role of unit testing for high-quality Java development. (Of course, he’s not the only one to realize this: Testing is at the heart of agile methodologies like Extreme Programming, which Eckel admires. Chances are you’ll be called upon to become much more actively involved in testing in coming days. This book will prepare you.)

With unit testing, Eckel points out, “the build process can check for more than just syntax errors, since you teach it how to check for semantic errors as well.” By integrating unit testing into the build process, you can “be bolder in the changes that you make, more easily refactor your code when you discover design or implementation flaws, and in general produce a better product, faster.”

To this end, Eckel has used unit testing throughout this edition to validate his code and display the expected output. (Much of that output now appears in the book, responding to one of the few criticisms made of earlier editions.)

As part of a detailed new chapter on “Discovering Problems,” he also walks through the construction of a simple unit testing framework -- and offers detailed coverage of using the latest version of JUnit to perform more sophisticated functionality testing. The same chapter also covers JDK 1.4’s new logging and assertions support, as well as debugging and profiling techniques every Java developer needs.

Since there’s more to cover in Java than ever before, Eckel’s had to battle to keep this book down to size. (People have actually complained that Thinking in Java is too big -- which is like complaining that someone’s given you too many diamonds.) So he’s moved J2EE coverage out of this book (they’re downloadable, and will become part of his forthcoming Thinking in Enterprise Java). That means more space for crucial topics like analysis and design; class reuse techniques; collections; and I/O -- including Java 1.4’s newio.

As always, Eckel approaches Java with short, “bite-size” examples, each explaining one concept with total clarity, and organized to build step-by-step, from simple to sophisticated. For this edition, Eckel has revisited virtually all of his code examples. Some old examples are gone; many new ones have been added. In many cases, he’s thoroughly redesigned and reimplemented his examples, to improve consistency and to reflect today’s best practices for Java programming. In rewriting his code, he has a huge advantage over most other authors: the extensive feedback he gets in his seminars, event appearances, and at his hugely popular web site.

The accompanying CD-ROM contains electronic versions of the book plus all of its source code. But it also contains the solution to one of the key obstacles that face many developers trying to learn Java for the first time. Java’s roots are in C. To really instinctively “get” Java, it helps to know at least the rudiments of C. So Eckel has bundled a complete interactive “Thinking in C” training course that covers everything you ought to know before you start learning Java. Just another example of how committed Eckel is to making sure you really get it. Bill Camarda

Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

Product Details

Pearson Education
Publication date:
Edition description:
Book, CD-ROM & Research Navigator 2004
Product dimensions:
6.48(w) x 9.04(h) x 1.86(d)

Read an Excerpt


Meet the Author

Bruce Eckel is the author of Thinking in C++, which won the Software Development Jolt Award for best book on 1995. He's been professionally programming for 20 years and has been teaching people throughout the world how to program with objects since 1986, first as a reknowned speaker and consultant on C++ and now in Java. He was a voting member of the C++ Standards Committee, has written 5 other books on object-oriented programming, published over 150 articles, and has been a columnist for various computer magazines, including the Java columnist for Web Techniques. He chairs the C++ and Java tracks for the Software Development Conference and holds a BS in Applied Physics and an MS in Computer Engineering.

Customer Reviews

Average Review:

Post to your social network


Most Helpful Customer Reviews

See all customer reviews