Change Item 23, Correct Text, p. 14


In the third paragraph change

If the significantly long or blocking methods of a thread are
made interruptible the oracle can consist of a number of asynchronous event handlers
that are bound to external happenings. When the happenings occur the handlers can
invoke interrupt() on appropriate threads. Those threads will then clean up by
having all of the interruptible methods transfer control to appropriate catch clauses as
control enters those methods (either by invocation or by the return bytecode). This
continues until the run() method of the thread returns.

to

To create such a set of threads consider the following steps:
 

The effect of the happening is then to cause each interruptible method to abort abnormally by transferring control to the appropriate catch clause. Ultimately the run() method of the thread will complete normally.
 

In the last paragraph, titled, Physical Memory Access, change

RawMemoryAccess defines methods that allow the programmer to
construct an object that represents a range of physical addresses and then access the
physical memory with byte, short, int, long, float, and double granularity.

to

RawMemoryAccess defines methods that allow the programmer to
construct an object that represents a range of physical addresses.  Access to
the physical memory is then accomplished through get<type> and set<type> methods of that object where
the type represents a word size, i.e., byte, short, int, long, float, and double.
 

AND
 

The
VTPhysicalMemory, LTPhysicalMemory and ImmortalPhysicalMemory classes
allow programmers to create objects that represent a range of physical memory
addresses and in which Java objects can be located.

to

The
VTPhysicalMemory, LTPhysicalMemory and ImmortalPhysicalMemory classes
allow programmers to construct an object that represents a range of physical memory
addresses.  When this object is used as a MemoryArea other objects can be constructed in
the physical memory using the new keyword as appropriate.