Revision 5B

Revision history for Thinking in Java, 2nd edition

Please note that much of this book is still in very early form.
Full text, source code and additional information available at www.BruceEckel.com.
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: join-eckel-oo-programming@earth.lyris.net

Revision history:

TIJR5B, 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.

TIJR5, 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.

TIJ2R4, 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.

TIJ2R3, 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.

TIJ2R2, 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.

TIJ2R1, 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 http://java.sun.com. Source code can be found in zipped format at www.BruceEckel.com.
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.

To do:

  1. Fix autocreation of HTML applet pages so it works on the other chapters
  2. More string material in an earlier chapter
  3. Incorporate JNI code into code build
  4. Add leveled numbering to headings?
  5. Doing your own deprecation in JavaDoc
  6. Code evolution (only adding to the interface, calling the new function from the old, deprecating only if necessary)
  7. Using if(true) and if(false) for conditional compilation
  8. Design by contract and the death condition (from Bill Venners & Chuck Allison)
  9. Designing your own hashcode
  10. Introduction to JavaSpaces
  11. Look for explicit string conversions that don't need to be there.
  12. change print() functions to toString() functions
  13. Compare array lookups to ArrayList lookups