P. 64, footnote: Exceptions are "explained in detail" in Section 4.7 rather than Section 4.6. P. 69, section on Wrapper Classes and Type Conversions: the program referred to is in Figure 2.2.5 rather than Figure 2.3.5. P. 156: String s1 = "foo", s2 = "foo"; should be String s1 = new String( "foo" ), s2 = new String( "foo" ); P. 453: The reference lock should be static. P. 488: PortTester program, Figure 9.2.2. The declaration/initialization Socket s = null; should occur immediately above the for loop, not as the first statement in the for loop. P. 641: The index entry "java.policy file" should occur on page 637 in the middle column, right above "java.security file".