Learning Java, 2nd Edition by Pat Niemeyer, Jonathan Knudsen The following corrections were made to the 10/03 reprint: Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem [133] 2nd to last paragraph; "The instance variable defaultDoors is not initialized until a later point in the chain of constructor calls, ...." NOW READS: default_doors, not defaultDoors (231) IN PRINT: 3rd paragraph, code sample; "String s = Integer.toHexString( 255 ).toUpper(); // s = "FF";" NOW READS: "String s = Integer.toHexString( 255 ).toUpperCase(); // s = "FF";" (304) Code sample following the 2nd paragraph; System.getProperty("user.dir")); NOW READS: System.getProperty("user.dir"); (309) Beginning of 2nd paragraph; Missing space between words: FileOutputStreamis NOW READS: FileOutputStream is (322) 4th paragraph; The first sentence of paragraph 4: "The position for reading and writing the Buffer is always greater than the mark, which serves as a lower bound, and the limit, which serves as an upper bound." NOW READS: The position for reading and writing the Buffer is always between the mark and the limit. [323] Bottom of page; 3rd line from end of page states: (For example, shorts and floats consume two bytes each, longs and doubles four.) NOW READS: (For example, shorts are two bytes, floats are four, longs and doubles are eight.) (343) 2nd paragraph, 1st sentence; First sentence of paragraph under header "Do French web servers speak French?": BufferedRead NOW READS: BufferedReader {386} In the Post.java sample, in the line immediately following "// read results..."; The if statement immediately following the comment: ... // read results... if (urlcon.getResponseCode( ) != HttpURLConnection.HTTP_OK ) ... Based on the logic of the if statement, the test is backward; NOW READS: if (urlcon.getResponseCode( ) == HttpURLConnection.HTTP_OK ) {682} 2nd paragraph; The command keytool -csr -alias Pat -file Pat.csr -keypass secure -storepass boofa NOW READS: keytool -certreq -alias Pat -file Pat.csr -keypass secure -storepass boofa