Return to Home Page
      Blog     Consulting     Seminars     Calendar     Books     CD-ROMS     Newsletter     About     FAQ      Search

Thinking in Java

Java World Reader's Choice Award The Mining Company's 'Focus on Java' Best of the Net Award

Thinking in Java Wins the Software Development Magazine Productivity Award at SD 99!

Free Electronic Book: Thinking in Java
Final version, January 1998

Printed version published by Prentice-Hall 1998, ISBN: 0-13-659723-8.

Subscribe to the free OOP Newsletter from Bruce Eckel

Subscribing to the newsletter provides automatic notification when the book is revised and information about CD Roms and Java Seminars and workshops

Your Java programming questions

Back to Contents

As many of you have noticed, I am terribly swamped with email and am unable to answer most programming questions; if I do answer you it's often too late for it to be of any use. There are several people who have kindly offered to answer Java questions that you would normally send to me. Click Here for details.

HTML Version

Back to Contents

Available at the download site. I've put a lot of work into the formatting of this version, so I think it's quite nice. It includes all the diagrams, and color syntax highlighting for all the code listings, You can use frames to navigate all the chapters and subsections, and every item in the index is hotlinked to the appropriate text in the book, so looking things up is a snap. Give it a try, I think you'll like it!

Indexed PDF Version

Back to Contents

This has a PDF index included for easier searching in Acrobat. Download via the download site. Brought to you courtesy of PlanetPDF.

January 1998 Version

Back to Contents

Note that beta versions of the 2nd edition of the book are now available.

This edition is available in both HTML and PDF at the download site.

I must say that putting the book up on the Web has made this the best publishing experience I've had (and the same thing is happening with the 2nd edition of Thinking in C++).

Thanks very much to everyone who submitted corrections.

Submitting corrections

Back to Contents

As I am now working on the 2nd edition of the book, you should see whether your suggested correction still needs fixing by first downloading that book. On the 2nd edition web page, you'll find a comment collector — please use that for all comments. Thanks for your help!

Is it still free?

Back to Contents

The electronic version of the book will continue to be free. You have permission to print a copy of the book for your own use.

If you like the book, please:

  1. Recommend it to your friends
  2. Create links to this site from your web page or mirror this page
  3. Report any errors or problems you find
  4. Consider buying a copy of the printed book - it's probably cheaper than the toner cartridge you'll use up. However, if it works well enough for you as an electronic document, great!
  5. Consider coming to one of my seminars


Back to Contents


A number of electronic translations have been in the works for awhile, but I finally realized that each translation project needs to have its own web site so interested folks can collaborate on it. The first of these sites is for the Italian translation, and even though it's in Italian you can see how they set it up, so that each chapter is assigned to an interested individual and the chapters can be downloaded as each one is completed (notice this also allows for corrections and updates).

If you are interested in doing an electronic translation (for electronic distribution only; while it would make sense for a book publisher to use your electronic translation there's no clue or guarantee as to what they will do, and I have no control over that, only the electronic translations), please look in the list below to see if anyone is already doing it. If not, create a Web site and send me the link to post here.

Japanese Contact
Chinese Courtesy of Trans Bot (completed translation)

Mirror sites

Back to Contents

Mirror sites

Please consider mirroring this site, since as the book gets more popular the MindView server gets slower. When you look at a mirror site, make sure they are giving you the most current version of the book — if not, complain to that site so they will update it for you.

Note: the sites below are for the first edition of the book. More current sites, containing the HTML of both the first and second editions of the book, can be found at the download site.

You can also get the PDF version from Fatbrain

Also browseable, and both the rtf and html versions can be downloaded:

University of St. Thomas in St. Paul, Minnesota

The Chicago Area Java User's Group (CJUG has a mirror at

The "cheap geek" site:

Overseas locations often have trouble downloading the book. In Europe, the Belgian User's group has a mirror site at:

Second mirror site in Belgium:

In France, there's a mirror at:

At a second mirror site in France the files are available for ftp via a 4Mb/s connection at:

In Germany: (the home page, with specific links:)

Mirror site in UK:

Mirrors in Taiwan:

In Israel, at the Weizmann Institute of Science:

If you wish to set up a mirror site please inform me so that I can place your URL here.

Other formats

Back to Contents

Palm Pilot format

The book is available in Palm Pilot format, maintained at

Unzipping tools

Back to Contents

To unzip "zip" files, the best place to go for tools is This is a freeware, open-source implementation of zipping and unzipping programs that work on virtually all platforms. It's also what I use to zip the files.

Source code for Thinking in Java (4/6/98, corrected for JDK1.2Beta3)

Back to Contents

As you'll discover in Chapter 17, I've created a program to extract the code and package it into an archive. Originally this program was also used to unpack the code on your site (in a platform-independent manner) but with Java 1.1's jar utility this step becomes unnecessary. Instead, you simply use jar (which you get as part of the JDK 1.1 and greater download from In theory, jar will compensate for your local system's directory structure as well as the end-of-line terminators. Thus, it should unpack properly onto any machine where the Java libraries are properly implemented. Note that this file has an extension of .zip because you can also extract the code with some implementations of the "zip" file compression/extraction utility. It also prevents your browser from attempting to open it as a jar file.

Steps for installing source code on your machine:

  1. Go to the download site, where you'll find a zip file titled on this link and request that your browser save the file into the directory that you want to be the root directory for the source-code files.
  2. Unzip the code. This will automatically create all the necessary subdirectories and install the files.
  3. As an alternative, you may be able to unzip the file using a 32-bit Zip program that supports long file names (otherwise the names of the files will be truncated and nothing will work). Older versions of zip programs may not work even if they support 32-bits, so you might need to download a newer version. Keep in mind that non-Windows platforms may have carriage-return/linefeed problems when unzipping this file, whereas the jar file will automatically be correct on all platforms.
  4. MacOS users, please see the Thinking in Java MacOS Installation page.

If you have problems, let me know at Bruce Eckel, especially if you can tell me the solution for a particular platform.

Selected exercise solutions for Thinking in Java

Back to Contents

This is a zip file containing selected exercise solutions from the book:

The exercise solutions from the Hands-On Java Seminar are somewhat different. This is a zip file containing exercise solutions from the seminar:

Printed book discounts, review copies, professor copies

Back to Contents

For discounts on orders of greater than 10 copies, call: Mike Nicholson at 201-236-7149 (FAX 201-236-7141) or email

Qualified reviewers should contact Stephanie Sas at Prentice-Hall: 201-236-7119 for review copies.

Professors can go to their normal Prentice-Hall representative and request a sample, or call Faculty Services at 1-800-526-0485, or request a sample from the web site

Search     Home     WebLog     Consulting     Seminars     Calendar     Books     CD-ROMS     Newsletter     About     Contact     Site Design     Server Maintenance     Powered by Zope
©2007 MindView, Inc.