Revision 12

Revision history for Thinking in Java, 2nd edition

Full text, source code and additional information available at
To be informed of future releases of this document and other information about object-oriented books, documents, seminars and CDs, subscribe to my free newsletter. Just send any email to:

To do:

Revision history:

Revision 12, June 12, 2001:

Revision 11, April 24, 2000:

Revision 10, April 4, 2000:

Revision 9, March 17, 2000:

Revision 8, March 7, 2000:

Revision 7, Feb 21, 2000:

Revision 6, Feb 16, 2000

Rewrote Preface, Introduction, and Chapters 1 - 4, which are now ready for copy-editing. Added more exercises to Chapters 2 - 4. Simplified initial example in Chapter 2 and added descriptions of downloading JDK, running the compiler and executing programs.

Revision 5B, Feb 6, 2000

No book content changes. Fixed a lot of the formatting issues in the HTML document, and added color syntax highlighting to the code examples. Corrected the master makefile so that the code will compile under RedHat Linux 6.1 with the JDK 1.2.2 RC2 (that's what I tested it on). Added a built-in error correction submission page to the HTML distribution, linked from each chapter. Did some work on the error correction submission CGI script on the web site so that it does line wrapping.

Revision 5, January 31, 2000

Rewrote Chapter 1, adapted from new material in "Thinking in C++, 2nd edition Volume 1." Changed "Passing & Returning Objects" into appendix A, since it's a special/advanced topic. Added material and examples to the design patterns chapter. The WindowListener-windowClosing code in almost all examples now has a commented 'setDefaultCloseOperation(EXIT_ON_CLOSE)' in anticipation of Java 1.3, but a substitute version from com.bruceckel.swing so that it will compile in Java 1.2. Fixed IDL code generation and directory. All code compiles in Java 1.2 by typing 'make' in the root code directory.

Revision 4, Nov 14 1999

Incremental changes and improvements. In particular, the swing demo HTML pages use frames and some adjustments have been made to the examples in that section to work better.

Revision 3, October 17 1999

To the downloadable code, added HTML pages to run all applets in Chapter 13 and modified the height and width accordingly. Added Rahim Adatia's drag and drop example. Modified the last JSP examples. Added Bill Venner's Jini section.

Revision 2, October 11 1999

Worked on the Enterprise chapter with Dave Bartlett; added preliminary section on EJBs from Robert Castaneda. Added a number of JSP examples.

Revision 1, August 1999

With the aid of a few folks on the Internet (noted in the introduction), did a first rewrite of all the AWT examples so they use swing. NOTE: only the examples have changed, the prose has not been rewritten. In particular, Chapter 13 will need to be rewritten fairly thoroughly. However, the entire book compiles with the Java 2 SDK, Standard Edition, v 1.2 available from Source code can be found in zipped format at
Changed all fonts to Times Roman & Courier so people don't have any font issues with the downloaded versions of the book (the printed version will use fonts selected by the designer, Daniel Will-Harris). Set up basic structure of the book. Removed the last chapter and distributed a couple of the programs to other chapters. Removed some appendices, to be posted instead on the web site, or integrated them into the chapters of the book. Hacked up the extractcode.cpp program from "Thinking in C++ 2nd edition" to work with this book. Added subdirectory indicators to all code files for extractcode to use.