 
          Thinking in Java, 3rd ed. Revision 4.0
     
     [ Viewing Hints ]     [ Book Home Page ]     [ Free Newsletter ] 
     [ Seminars ]     [ Seminars on CD ROM ]     [ Consulting ] 
         
Thinking in Java, 3rd ed. Revision 4.0 - Index
 
 , !
 , &
 , >
 , <
 , +
 , .
 , =
 , @
 , A
 , B
 , C
 , D
 , E
 , F
 , G
 , H
 , I
 , J
 , K
 , L
 , M
 , N
 , O
 , P
 , Q
 , R
 , S
 , T
 , U
 , V
 , W
 , X
 , Y
 , Z
 , [
 , ^
 , |
 javac , 1
!, 1
- !=, 1
-  operator, 1
&, 1
&&, 1
&=, 1
>, 1
>>, 1
>>=, 1
>=, 1
<, 1
<<, 1
<<=, 1
<=, 1
- +, 1
-  operator + for String, 1
.NET, 1
- ==, 1
-  operator, 1
@author, 1
@deprecated, 1
@docRoot, 1
@inheritDoc, 1
@link, 1
@param, 1
@return, 1
@see, 1
@since, 1
@throws, 1
@version, 1
- abstract
-  class, 1
 inheriting from an abstract class, 1
 keyword, 1
 vs. interface, 1
Abstract Window Toolkit (AWT), 1
AbstractButton, 1
abstraction, 1
AbstractSequentialList, 1
AbstractSet, 1
- access
-  class, 1
 control, 1, 2
 inner classes & access rights, 1
 package access and friendly, 1
 specifiers, 1, 2, 3
 within a directory, via the default package, 1
action command, 1
ActionEvent, 1, 2
ActionListener, 1
actor, in use cases, 1
- adapters
-  listener adapters, 1
add( ), ArrayList, 1
addActionListener( ), 1, 2
addChangeListener, 1
addition , 1
addListener, 1
addXXXListener( ), 1
Adler32, 1
aggregate array initialization, 1
aggregation, 1
- aliasing, 1
-  and String, 1
 during a method call, 1
align, 1
allocate( ), 1
allocateDirect( ), 1
alphabetic vs. lexicographic sorting, 1
- analysis
-  and design, object-oriented, 1
 paralysis, 1
 requirements analysis, 1
- AND
-  bitwise, 1
 logical (&&), 1
- anonymous inner class, 1, 2, 3
-  and table-driven code, 1
Ant, automated build process using, 1
antcall, 1
- applet, 1
-  advantages for client/server systems, 1
 align, 1
 archive tag, for HTML and JAR files, 1
 classpath, 1
 codebase, 1
 combined applets and applications, 1
 name, 1
 packaging applets in a JAR file to optimize loading, 1
 parameter, 1
 placing inside a Web page, 1
 restrictions, 1
 signed, 1
appletviewer, 1
- application
-  application builder, 1
 application framework, 1
 application framework, and applets, 1
 combined applets and applications, 1
 windowed applications, 1
archive tag, for HTML and JAR files, 1
- argument
-  constructor, 1
 final, 1, 2
 passing a reference into a method, 1
 variable argument lists (unknown quantity and type of arguments), 1
- array, 1
-  associative array, 1
 associative array, Map, 1
 bounds checking, 1
 comparing arrays, 1
 copying an array, 1
 dynamic aggregate initialization syntax, 1
 element comparisons, 1
 first-class objects, 1
 initialization, 1
 length, 1, 2
 multidimensional, 1
 of objects, 1
 of primitives, 1
 return an array, 1
- ArrayList, 1, 2, 3, 4, 5, 6
-  add( ), 1
 get( ), 1, 2
 size( ), 1
 type-conscious ArrayList, 1
Arrays class, container utility, 1
Arrays.asList( ), 1
Arrays.binarySearch( ), 1
Arrays.fill( ), 1
asCharBuffer( ), 1
assertion, JDK 1.4, 1
assigning objects, 1
assignment, 1
- associative array, 1, 2
-  Maps, 1
atomic operation, 1
auto-decrement operator, 1
auto-increment operator, 1
- automated
-  build process using Ant, 1
 unit testing, 1
automatic type conversion, 1
available( ), 1
bag, 1
base 16, 1
base 8, 1
- base class, 1, 2, 3
-  abstract base class, 1
 base-class interface, 1
 constructor, 1
 constructors and exceptions, 1
 initialization, 1
base types, 1
- BASIC
-  language, 1
 Microsoft Visual BASIC, 1
basic concepts of object-oriented programming (OOP), 1
BasicArrowButton, 1
- BeanInfo
-  custom BeanInfo, 1
- Beans
-  and Borlands Delphi, 1
 and Microsofts Visual BASIC, 1
 application builder, 1
 bound properties, 1
 component, 1
 constrained properties, 1
 custom BeanInfo, 1
 custom property editor, 1
 custom property sheet, 1
 events, 1
 EventSetDescriptors, 1
 FeatureDescriptor, 1
 getBeanInfo( ), 1
 getEventSetDescriptors( ), 1
 getMethodDescriptors( ), 1
 getName( ), 1
 getPropertyDescriptors( ), 1
 getPropertyType( ), 1
 getReadMethod( ), 1
 getWriteMethod( ), 1
 indexed property, 1
 Introspector, 1
 JAR files for packaging, 1
 manifest file, 1
 Method, 1
 MethodDescriptors, 1
 naming convention, 1
 properties, 1
 PropertyChangeEvent, 1
 PropertyDescriptors, 1
 ProptertyVetoException, 1
 reflection, 1, 2
 Serializable, 1
 visual programming, 1
Beck, Kent, 1
- binary
-  numbers, 1
 numbers, printing, 1
 operators, 1
binarySearch( ), 1
- binding
-  dynamic binding, 1
 dynamic, late, or run-time binding, 1
 early, 1
 late, 1
 late binding, 1
 method call binding, 1
 run-time binding, 1
BitSet, 1
- bitwise
-  AND, 1
 AND operator (&), 1
 copy, 1
 EXCLUSIVE OR XOR (^), 1
 NOT ~, 1
 operators, 1
 OR, 1
 OR operator (|), 1
blank final, 1
- blocking
-  and available( ), 1
 and threads, 1
 on I/O, 1
Booch, Grady, 1
- book
-  errors, reporting, 1
 updates of the book, 1
- Boolean, 1
-  algebra, 1
 and casting, 1
 operators that wont work with boolean, 1
 vs. C and C++, 1
BorderLayout, 1
- Borland, 1
-  Delphi, 1
bound properties, 1
bounds checking, array, 1
BoxLayout, 1
break keyword, 1
breakpoints, debugging, 1
browser, class browser, 1
buffer, nio, 1
BufferedInputStream, 1
BufferedOutputStream, 1
BufferedReader, 1, 2, 3
BufferedWriter, 1, 2
build process, using Ant, 1
build.xml, 1
buildfile, 1
builds, daily, Extreme Programming, 1
business objects/logic, 1
- button
-  creating your own, 1
 radio button, 1
 Swing, 1, 2
ButtonGroup, 1, 2
ByteArrayInputStream, 1
ByteArrayOutputStream, 1
ByteBuffer, 1
- C#
-  programming language, 1
 Thinking in C#, 1
- C++, 1
-  copy constructor, 1
 exception handling, 1
 Standard Container Library aka STL, 1
 templates, 1
 vector class, vs. array and ArrayList, 1
- callback, 1, 2, 3, 4
-  and inner classes, 1
capacity, of a HashMap or HashSet, 1
capitalization of package names, 1
case statement, 1
- cast, 1, 2, 3
-  and containers, 1
 and primitive types, 1
 from float or double to integral, truncation, 1
 operators, 1
- catch
-  catching an exception, 1
 catching any exception, 1
 keyword, 1
certificate, applet signing, 1
chained exceptions in JDK 1.4, 1
change, vector of, 1
channel, nio, 1
CharArrayReader, 1
CharArrayWriter, 1
CharBuffer, 1
CharSequence, 1
Charset, 1
check box, 1
check instruction, design by contract, 1
- checked exceptions, 1
-  converting to unchecked exceptions, 1
CheckedInputStream, 1
CheckedOutputStream, 1
Checksum class, 1
- class, 1, 2, 3
-  abstract class, 1
 access, 1
 anonymous inner class, 1, 2, 3
 base class, 1, 2, 3
 browser, 1
 class hierarchies and exception handling, 1
 class literal, 1, 2
 Class object, 1, 2, 3
 creators, 1
 defining the interface, 1
 derived class, 1
 equivalence, and instanceof/isInstance( ), 1
 final classes, 1
 forName( ), 1, 2
 getClass( ), 1
 getConstructors( ), 1
 getInterfaces( ), 1
 getMethods( ), 1
 getName( ), 1
 getSuperclass( ), 1
 inheritance diagrams, 1
 inheriting from an abstract class, 1
 inheriting from inner classes, 1
 initialization & class loading, 1
 initialization of fields, 1
 initializing members at point of definition, 1
 initializing the base class, 1
 inner class, 1
 inner class nesting within any arbitrary scope, 1
 inner classes, 1
 inner classes & access rights, 1
 inner classes and overriding, 1
 inner classes and super, 1
 inner classes and Swing, 1
 inner classes and upcasting, 1
 inner classes in methods & scopes, 1
 inner classes, identifiers and .class files, 1
 instance of, 1
 intializing the derived class, 1
 isInstance, 1
 isInterface( ), 1
 keyword, 1
 loading, 1
 member initialization, 1
 multiply-nested, 1
 newInstance( ), 1
 object, 1
 order of initialization, 1
 printInfo( ), 1
 private inner classes, 1
 public class, and compilation units, 1
 read-only classes, 1
 referring to the outer class object in an inner class, 1
 RTTI using the Class object, 1
 static inner classes, 1
 style of creating classes, 1
 subobject, 1
class-responsibility-collaboration (CRC) cards, 1
ClassCastException, 1, 2
- classpath, 1, 2
-  ant, 1
- cleanup
-  and garbage collector, 1
 guaranteeing with finalize( ), 1
 performing, 1
 with finally, 1
clear( ), nio, 1
- client programmer, 1
-  vs. library creator, 1
clipboard, system, 1
- clone( ), 1
-  and composition, 1
 and inheritance, 1
 Object.clone( ), 1
 removing/turning off cloneability, 1
 super.clone( ), 1, 2
 supporting cloning in derived classes, 1
Cloneable interface, 1
CloneNotSupportedException, 1
close( ), 1
closure, and inner classes, 1
- code
-  coding standards, 1, 2
 organization, 1
 re-use, 1
 revision control system, 1
 source code, 1
codebase, 1
coding style, 1
- collection, 1, 2
-  class, 1
Collections.enumeration( ), 1
Collections.fill( ), 1
Collections.reverseOrder( ), 1
- collision
-  during hashing, 1
 name, 1
com.bruceeckel.swing, 1
combo box, 1
comma operator, 1, 2
comments, and embedded documentation, 1
commit, CVS, 1
Commitment, Theory of Escalating, 1
common interface, 1
common pitfalls when using operators, 1
Comparable, 1, 2
Comparator, 1, 2
compareTo( ), in java.lang.Comparable, 1
comparing arrays, 1
compilation unit, 1
compile-time constant, 1
compiling a Java program, 1
component, and JavaBeans, 1
- composition, 1, 2
-  and cloning, 1
 and design, 1
 and dynamic behavior change, 1
 choosing composition vs. inheritance, 1
 combining composition & inheritance, 1
 vs. inheritance, 1
compression, library, 1
concept, high, 1
concurrency, and Swing, 1
ConcurrentModificationException, 1
conditional operator, 1
conference, Software Development Conference, 1
- console
-  input, 1
 sending exceptions to, 1
 Swing display framework in com.bruceeckel.swing, 1
const, in C++, 1
- constant
-  compile-time constant, 1
 constant folding, 1
 groups of constant values, 1
 implicit constants, and String, 1
constrained properties, 1
- constructor, 1
-  and anonymous inner classes, 1
 and exception handling, 1
 and exceptions, 1
 and finally, 1
 and overloading, 1
 and polymorphism, 1
 arguments, 1
 base-class constructor, 1
 base-class constructors and exceptions, 1
 behavior of polymorphic methods inside constructors, 1
 C++ copy constructor, 1
 calling base-class constructors with arguments, 1
 calling from other constructors, 1
 Constructor class for reflection, 1
 default, 1
 initialization during inheritance and composition, 1
 name, 1
 no-arg constructors, 1
 order of constructor calls with inheritance, 1
 return value, 1
 static construction clause, 1
 synthesized default constructor access, 1
consulting & mentoring provided by MindView, Inc., 1
- container
-  class, 1, 2
 of primitives, 1
 utilities for container classes, 1
continue keyword, 1
contract, design by (DBC) , and assertions, 1
- control
-  access, 1, 2
 framework, and inner classes, 1
- conversion
-  automatic, 1
 narrowing conversion, 1, 2
 widening conversion, 1
- copy
-  copying an array, 1
 deep copy, 1
 shallow copy, 1
- copyright notice
-  source code, 1
costs, startup, 1
coupling, 1
coverage testing, 1
CRC, class-responsibility-collaboration cards, 1
CRC32, 1
critical section, and synchronized block, 1
daemon threads, 1
daily builds, 1
- data
-  final , 1
 primitive data types and use with operators, 1
 static initialization, 1
- data type
-  equivalence to class, 1
DataFlavor, 1
DatagramChannel, 1
DataInput, 1
DataInputStream, 1, 2, 3, 4
DataOutput, 1
DataOutputStream, 1, 2, 3
DBC, design by contract, and assertions, 1
dead, Thread, 1
- deadlock
-  conditions, 1
 multithreading, 1
debugger, JDK, 1
decode( ) , character set, 1
decorator design pattern, 1
decoupling, via polymorphism, 1, 2
decrement operator, 1
- deep copy, 1, 2
-  using serialization to perform deep copying, 1
- default constructor, 1
-  access the same as the class, 1
 synthesizing a default constructor, 1
default keyword, in a switch statement, 1
default package, 1
DefaultMutableTreeNode, 1
defaultReadObject( ), 1
DefaultTreeModel, 1
defaultWriteObject( ), 1
DeflaterOutputStream, 1
Delphi, from Borland, 1
Demarco, Tom, 1
dependencies, ant, 1
dequeue, 1
- derived
-  derived class, 1
 derived class, initializing, 1
 types, 1
- design, 1
-  adding more methods to a design, 1
 analysis and design, object-oriented, 1
 and composition, 1
 and inheritance, 1
 and mistakes, 1
 five stages of object design, 1
 library design, 1
 patterns, 1, 2
design by contract (DBC), and assertions, 1
- design patterns, 1, 2
-  decorator, 1
 singleton, 1
 template method, 1, 2, 3
- destructor, 1, 2, 3
-  Java doesnt have one, 1
development, incremental, 1
- diagram
-  class inheritance diagrams, 1
 inheritance, 1
 use case, 1
dialog box, 1
dialog, file, 1
dialog, tabbed, 1
dictionary, 1
digital signing, 1
dining philosophers, threading, 1
- directory
-  and packages, 1
 creating directories and paths, 1
 lister, 1
display framework, for Swing, 1
dispose( ), 1
division, 1
do-while, 1
doclets, 1
- documentation, 1
-  comments & embedded documentation, 1
- double
-  and threading, 1
 literal value marker (d or D), 1
- downcast, 1, 2, 3
-  type-safe downcast in run-time type identification, 1
drawing lines in Swing, 1
drop-down list, 1
- dynamic
-  behavior change with composition, 1
 binding, 1, 2
dynamic aggregate initialization syntax for arrays, 1
early binding, 1, 2
East, BorderLayout, 1
editor, creating one using the Swing JTextPane, 1
- efficiency
-  and arrays, 1
 and final, 1
 and threads, 1
elegance, in programming, 1
else keyword, 1
encapsulation, 1
encode( ), character set, 1
- endian
-  big endian, 1
 little endian, 1
enum, groups of constant values in C & C++, 1
Enumeration, 1
- equals( ), 1, 2
-  and hashed data structures, 1
 conditions for defining properly, 1
 overriding for HashMap, 1
- equivalence
-  ==, 1
 object equivalence, 1
- error
-  handling with exceptions, 1
 recovery, 1
 reporting, 1
 reporting errors in book, 1
 reporting, with the logging API in JDK 1.4, 1
 standard error stream, 1
Escalating Commitment, Theory of, 1
- event
-  event-driven programming, 1
 event-driven system, 1
 events and listeners, 1
 JavaBeans, 1
 listener, 1
 listener, order of execution, 1
 model, Swing, 1
 multicast, 1
 multicast, and JavaBeans, 1
 responding to a Swing event, 1
 Swing event model, 1
 unicast, 1
EventSetDescriptors, 1
evolution, in program development, 1
- exception
-  and base-class constructors, 1
 and constructors, 1
 and inheritance, 1, 2
 and the console, 1
 catching an exception, 1
 catching any exception, 1
 changing the point of origin of the exception, 1
 checked, 1
 class hierarchies, 1
 constructors, 1
 creating your own, 1
 design issues, 1
 Error class, 1
 Exception class, 1
 exception handler, 1
 exception handling, 1
 exception matching, 1
 FileNotFoundException, 1
 fillInStackTrace( ), 1
 finally, 1
 guarded region, 1
 handler, 1
 handling, 1
 JDK 1.4 chained exceptions, 1
 losing an exception, pitfall, 1
 NullPointerException, 1
 printStackTrace( ), 1
 re-throwing an exception, 1
 restrictions, 1
 RuntimeException, 1
 specification, 1, 2
 termination vs. resumption, 1
 Throwable, 1
 throwing an exception, 1, 2
 try, 1
 try block, 1
 typical uses of exceptions, 1
 converting checked to unchecked, 1
exceptional condition, 1
exponential notation, 1
extending a class during inheritance, 1
- extends, 1, 2, 3
-  and interface, 1
 keyword, 1
extensible program, 1
extension, pure inheritance vs. extension, 1
extension, sign, 1
extension, zero, 1
extensions, ant, 1
- Externalizable, 1
-  alternative approach to using, 1
- Extreme Programming
-  and daily builds, 1
 XP, 1, 2
fail fast containers, 1
false, 1
FeatureDescriptor, 1
Field, for reflection, 1
fields, initializing fields in interfaces, 1
FIFO, 1
FIFO queue, 1
- file
-  characteristics of files, 1
 dialogs, 1
 File class, 1, 2, 3
 File.list( ), 1
 incomplete output files, errors and flushing, 1
 JAR file, 1
 locking, 1
 memory-mapped files, 1
File Transfer Protocol (FTP), 1
FileChannel, 1
FileDescriptor, 1
FileInputReader, 1
FileInputStream, 1
FileLock, 1
FilenameFilter, 1
FileNotFoundException, 1
FileOutputStream, 1
FileReader, 1, 2
FileWriter, 1, 2
fillInStackTrace( ), 1
FilterInputStream, 1
FilterOutputStream, 1
FilterReader, 1
FilterWriter, 1
- final, 1
-  and efficiency, 1
 and private, 1
 and static, 1
 argument, 1, 2
 blank finals, 1
 classes, 1
 data, 1
 keyword, 1
 method, 1
 methods, 1, 2
 static primitives, 1
 with object references, 1
- finalize( ), 1, 2
-  and inheritance, 1
 calling directly, 1
- finally, 1, 2
-  and constructors, 1
 keyword, 1
 pitfall, 1
finding .class files during loading, 1
flavor, clipboard, 1
flip( ), nio, 1
- float
-  floating point true and false, 1
float, literal value marker(F), 1
FlowLayout, 1
flushing output files, 1
focus traversal, 1
folding, constant, 1
for keyword, 1
forName( ), 1, 2
FORTRAN, 1
forward referencing, 1
Fowler, Martin, 1, 2, 3, 4
- framework
-  application framework and applets, 1
 control framework and inner classes, 1
FTP, File Transfer Protocol (FTP), 1
- function
-  member function, 1
 overriding, 1
- garbage collection, 1, 2
-  and cleanup, 1
 forcing finalization, 1
 how the collector works, 1
 order of object reclamation, 1
 reachable objects, 1
- generator, 1
-  object, to fill arrays and containers, 1
- generics
-  Java generics, 1
- get( )
-  ArrayList, 1, 2
 HashMap, 1
getBeanInfo( ), 1
getBytes( ), 1
getChannel( ), 1
getClass( ), 1, 2
getConstructor( ), 1
getConstructors( ), 1
getContentPane( ), 1
getContents( ), 1
getEventSetDescriptors( ), 1
getInterfaces( ), 1
getMethodDescriptors( ), 1
getMethods( ), 1
getModel( ), 1
getName( ), 1, 2
getPriority( ), 1
getPropertyDescriptors( ), 1
getPropertyType( ), 1
getReadMethod( ), 1
getSelectedValues( ), 1
getState( ), 1
getSuperclass( ), 1
getTransferData( ), 1
getTransferDataFlavors( ), 1
getWriteMethod( ), 1
Glass, Robert, 1
glue, in BoxLayout, 1
GNU make, 1
goto, lack of in Java, 1
graphical user interface (GUI), 1, 2
- graphics, 1
-  Graphics class, 1
greater than (>), 1
greater than or equal to (>=), 1
greedy quantifiers, 1
GridBagLayout, 1
GridLayout, 1, 2
group, thread, 1
groups, regular expression, 1
guarded region, in exception handling, 1
- GUI
-  graphical user interface, 1, 2
 GUI builders, 1
- guidelines
-  coding standards, 1
 object development, 1
GZIPInputStream, 1
GZIPOutputStream, 1
handler, exception, 1
- has-a, 1
-  relationship, composition, 1
hash function, 1
- hashCode( ), 1, 2, 3, 4
-  and hashed data structures, 1
 issues when writing, 1
 overriding for HashMap, 1
 recipe for generating decent, 1
- hashing, 1
-  and hash codes, 1
 external chaining, 1
 perfect hashing function, 1
HashMap, 1, 2, 3
HashSet, 1, 2
Hashtable, 1, 2
hasNext( ), Iterator, 1
Hexadecimal, 1
hiding, implementation, 1, 2
high concept, 1
HPROF, JDK profiler, 1
HTML on Swing components, 1
HTMLConverter, 1
- I/O
-  and threads, blocking, 1
 available( ), 1
 between threads, 1
 blocking on I/O, 1
 blocking, and available( ), 1
 BufferedInputStream, 1
 BufferedOutputStream, 1
 BufferedReader, 1, 2, 3
 BufferedWriter, 1, 2
 ByteArrayInputStream, 1
 ByteArrayOutputStream, 1
 characteristics of files, 1
 CharArrayReader, 1
 CharArrayWriter, 1
 CheckedInputStream, 1
 CheckedOutputStream, 1
 close( ), 1
 compression library, 1
 console input, 1
 controlling the process of serialization, 1
 DataInput, 1
 DataInputStream, 1, 2, 3, 4
 DataOutput, 1
 DataOutputStream, 1, 2, 3
 DeflaterOutputStream, 1
 directory lister, 1
 directory, creating directories and paths, 1
 Externalizable, 1
 File, 1, 2
 File class, 1
 File.list( ), 1
 FileDescriptor, 1
 FileInputReader, 1
 FileInputStream, 1
 FilenameFilter, 1
 FileOutputStream, 1
 FileReader, 1, 2
 FileWriter, 1, 2
 FilterInputStream, 1
 FilterOutputStream, 1
 FilterReader, 1
 FilterWriter, 1
 from standard input, 1
 GZIPInputStream, 1
 GZIPOutputStream, 1
 InflaterInputStream, 1
 input, 1
 InputStream, 1
 InputStreamReader, 1, 2
 internationalization, 1
 library, 1
 lightweight persistence, 1
 LineNumberInputStream, 1
 LineNumberReader, 1
 mark( ), 1
 mkdirs( ), 1
 network I/O, 1
 new nio, 1
 ObjectOutputStream, 1
 output, 1
 OutputStream, 1, 2
 OutputStreamWriter, 1, 2
 pipe, 1
 piped streams, 1
 PipedInputStream, 1
 PipedOutputStream, 1, 2
 PipedReader, 1
 PipedWriter, 1
 PrintStream, 1
 PrintWriter, 1, 2, 3
 PushbackInputStream, 1
 PushBackReader, 1
 RandomAccessFile, 1, 2, 3
 read( ), 1
 readDouble( ), 1
 Reader, 1, 2, 3
 readExternal( ), 1
 readLine( ), 1, 2, 3, 4
 readObject( ), 1
 redirecting standard I/O, 1
 renameTo( ), 1
 reset( ), 1
 seek( ), 1, 2
 SequenceInputStream, 1, 2
 Serializable, 1
 setErr(PrintStream), 1
 setIn(InputStream), 1
 setOut(PrintStream), 1
 StreamTokenizer, 1
 StringBuffer, 1
 StringBufferInputStream, 1
 StringReader, 1, 2
 StringWriter, 1
 System.err, 1
 System.in, 1, 2
 System.out, 1
 transient, 1
 typical I/O configurations, 1
 Unicode, 1
 write( ), 1
 writeBytes( ), 1
 writeChars( ), 1
 writeDouble( ), 1
 writeExternal( ), 1
 writeObject( ), 1
 Writer, 1, 2, 3
 ZipEntry, 1
 ZipInputStream, 1
 ZipOutputStream, 1
Icon, 1
if-else statement, 1, 2
IllegalMonitorStateException, 1
ImageIcon, 1
immutable objects, 1
- implementation, 1
-  and interface, 1, 2
 and interface, separating, 1
 and interface, separation, 1
 hiding, 1, 2, 3
 separation of interface and implementation, 1
implements keyword, 1
import keyword, 1
increment operator, 1
incremental development, 1
indexed property, 1
indexing operator [ ], 1
indexOf( ), String, 1
InflaterInputStream, 1
- inheritance, 1, 2, 3, 4, 5
-  and cloning, 1
 and final, 1
 and finalize( ), 1
 and synchronized, 1
 choosing composition vs. inheritance, 1
 class inheritance diagrams, 1
 combining composition & inheritance, 1
 designing with inheritance, 1
 diagram, 1
 extending a class during, 1
 extending interfaces with inheritance, 1
 from an abstract class, 1
 from inner classes, 1
 inheritance and method overloading vs. overriding, 1
 initialization with inheritance, 1
 multiple inheritance in C++ and Java, 1
 pure inheritance vs. extension, 1
 specialization, 1
 vs. composition, 1
initial capacity, of a HashMap or HashSet, 1
- initialization
-  and class loading, 1
 array initialization, 1
 base class, 1
 class member, 1
 constructor initialization during inheritance and composition, 1
 initializing class members at point of definition, 1
 initializing with the constructor, 1
 instance initialization, 1, 2
 lazy, 1
 member initializers, 1
 non-static instance initialization, 1
 of class fields, 1
 of method variables, 1
 order of initialization, 1, 2
 static, 1
 with inheritance, 1
inline method calls, 1
inner class, 1, 2- inner class
-  access rights, 1
 and overriding, 1
 and super, 1
 and control frameworks, 1
 and Swing, 1
 and upcasting, 1
 -  anonymous inner class, 1, 2
-  and table-driven code, 1
 callback, 1
 closure, 1
 hidden reference to the object of the enclosing class, 1
 identifiers and .class files, 1
 in methods & scopes, 1
 inheriting from inner classes, 1
 nesting within any arbitrary scope, 1
 private inner classes, 1
 referring to the outer class object, 1
 static inner classes, 1
input, console, 1
InputStream, 1
InputStreamReader, 1, 2
insertNodeInto( ), 1
- instance
-  instance initialization , 1
 non-static instance initialization, 1
 of a class, 1
- instanceof
-  dynamic instanceof, 1
 keyword, 1
- Integer
-  parseInt( ), 1
 wrapper class, 1
- interface
-  and implementation, separation of, 1, 2, 3
 and inheritance, 1
 base-class interface, 1
 Cloneable interface used as a flag, 1
 common interface, 1
 defining the class, 1
 for an object, 1
 initializing fields in interfaces, 1
 keyword, 1
 name collisions when combining interfaces, 1
 nesting interfaces within classes and other interfaces, 1
 private, as nested interfaces, 1
 Runnable, 1
 upcasting to an interface, 1
 user, 1
 vs. abstract, 1
 vs. implemenation, 1
- interfaces
-  graphical user interface (GUI), 1, 2
 responsive user, 1
internationalization, in I/O library, 1
Internet Service Provider (ISP), 1
- interrupt( ), 1
-  threading, 1, 2
- intranet, 1
-  and applets, 1
Introspector, 1
invariant, design by contract, 1
invokeandWait( ), SwingUtilities, 1
invokeLater( ), SwingUtilities, 1
- is-a, 1
-  relationship, inheritance, 1
-  and upcasting, 1
 vs. is-like-a relationships, 1
is-like-a, 1
isDaemon( ), 1
isDataFlavorSupported( ), 1
isInstance, 1
isInterface( ), 1
ISP (Internet Service Provider), 1
iteration, in program development, 1
- iterator, 1, 2, 3
-  hasNext( ), 1
 next( ), 1
J2EE, 1
Jacobsen, Ivar, 1
- JApplet, 1
-  menus, 1
- JAR, 1
-  archive tag, for HTML and JAR files, 1
 file, 1
 jar files and classpath, 1
 packaging applets to optimize loading, 1
 utility, 1
- Java
-  and pointers, 1
 and set-top boxes, 1
 AWT, 1
 compiling and running a program, 1
 containers library, 1
 Java Foundation Classes (JFC/Swing), 1
 Java Plugin, 1
 Java Virtual Machine (JVM), 1
 Java Web Start, 1
 operators, 1
 public Java seminars, 1
 strategies for transition to, 1
 versions, 1
 why it succeeds, 1
- JavaBeans
-  see Beans, 1
javadoc, 1
JavaMail API, 1
- JButton, 1
-  Swing, 1
JCheckBox, 1, 2
JCheckBoxMenuItem, 1, 2
JComboBox, 1
JComponent, 1, 2
JDB, Java Debugger, 1
- JDialog, 1
-  menus, 1
- JDK 1.1
-  I/O streams, 1
- JDK 1.4, 1
-  assertion mechanism, 1
 chained exceptions, 1
 Java Web Start, 1
 LinkedHashSet, 1
 logging API, 1
 new I/O, 1
 preferences API, 1
 regular expressions, 1
 LinkedHashMap, 1
JDK, downloading and installing, 1
JFC, Java Foundation Classes (Swing), 1
JFileChooser, 1
- JFrame, 1, 2
-  menus, 1
JIT, just-in-time compilers, 1
JLabel, 1, 2
JList, 1
JMenu, 1, 2
JMenuBar, 1, 2
JMenuItem, 1, 2, 3, 4, 5
JNLP, Java Network Launch Protocol, 1
join( ), threading, 1
JOptionPane, 1
Joy, Bill, 1
JPanel, 1, 2, 3, 4
JPopupMenu, 1
JProgressBar, 1
JRadioButton, 1, 2
JScrollPane, 1, 2, 3, 4
JSlider, 1
JTabbedPane, 1
JTable, Swing, 1
JTextArea, 1, 2
JTextField, 1, 2
JTextPane, 1
JToggleButton, 1
JTree, 1
JUnit unit testing framework, 1
JVM (Java Virtual Machine), 1
key, applet signing, 1
- keyboard
-  navigation, and Swing, 1
 shortcuts, 1
keySet( ), 1
Koenig, Andrew, 1
label, 1
- labeled
-  break, 1
 continue, 1
late binding, 1, 2, 3
layout, controlling layout with layout managers, 1
lazy initialization, 1
left-shift operator (<<), 1
- length
-  array member, 1
 for arrays, 1
less than (<), 1
less than or equal to (<=), 1
lexicographic vs. alphabetic sorting, 1
- library
-  creator, vs. client programmer, 1
 design, 1
 use, 1
LIFO, 1
- lightweight
-  persistence, 1
 Swing components, 1
LineNumberInputStream, 1
LineNumberReader, 1
linked list, 1
LinkedHashMap, 1, 2, 3, 4
LinkedHashSet, 1, 2
LinkedList, 1, 2, 3
Linux , 1
- List, 1, 2, 3, 4, 5
-  boxes, 1
 drop-down list, 1
 sorting and searching, 1
- listener
-  adapters, 1
 and events, 1
 classes, 1
 interfaces, 1
Lister, Timothy, 1
ListIterator, 1
- literal
-  class literal, 1, 2
 double, 1
 float, 1
 long, 1
 values, 1
little endian, 1
load factor, of a HashMap or HashSet, 1
- loading
-  .class files, 1
 initialization & class loading, 1
 loding a class, 1
lock( ), file locking, 1
lock, for multithreading, 1
locking, file, 1
logarithms, natural, 1
logging API in JDK 1.4, 1
- logical
-  AND, 1
 operator and short-circuiting, 1
 operators, 1
 OR, 1
long, and threading, 1
long, literal value marker (L), 1
look & feel, pluggable, 1
lvalue, 1
mail, Simple Mail Transfer Protocol (SMTP), 1
main( ), 1
maintenance, program, 1
make utility, for program building, 1
makefile, 1
management obstacles, 1
manifest file, for JAR files, 1, 2
Map, 1, 2, 3, 4, 5
Map.Entry, 1
MappedByteBuffer, 1
mark( ), 1
matcher, regular expression, 1
- Math.random( ), 1
-  values produced by, 1
mathematical operators, 1
max( ), 1
- member
-  initializers, 1
 member function, 1
 object, 1
memory exhaustion, solution via References, 1
memory-mapped files, 1
mentoring and training, 1, 2
- menu
-  JDialog, JApplet, JFrame, 1
 JPopupMenu, 1
message box, in Swing, 1
message,  sending, 1
Messenger object, 1
- Method, 1
-  adding more methods to a design, 1
 aliasing during method calls, 1, 2
 behavior of polymorphic methods inside constructors, 1
 distinguishing overloaded methods, 1
 final, 1, 2, 3
 for reflection, 1
 inline method calls, 1
 inner classes in methods & scopes, 1
 lookup tool, 1
 method call binding, 1
 overloading, 1
 overriding private, 1
 passing a reference into a method, 1
 polymorphic method call, 1
 private, 1
 protected methods, 1
 recursive, 1
 static, 1, 2
 synchronized method and blocking, 1
 initialization of method variables, 1
MethodDescriptors, 1
methodology, analysis and design, 1
Meyers, Scott, 1
- Microsoft, 1
-  Visual BASIC, 1
min( ), 1
mission statement, 1
mistakes, and design, 1
mkdirs( ), 1
mnemonics (keyboard shortcuts), 1
modulus, 1
monitor, for multithreading, 1
Mono, 1
Mozilla, 1
multi-tiered systems, 1
- multicast, 1
-  event, and JavaBeans, 1
 multicast events, 1
multidimensional arrays, 1
multiparadigm programming, 1
multiple inheritance, in C++ and Java, 1
multiplication, 1
multiply-nested class, 1
multitasking, 1
- multithreading, 1
-  and containers, 1
 blocking, 1
 deciding what methods to synchronize, 1
 drawbacks, 1
 Runnable, 1
 when to use it, 1
mutex, 1
mutual exclusion, threading, 1
- name, 1
-  clash, 1
 collisions, 1
 collisions when combining interfaces, 1
 creating unique package names, 1
 spaces, 1
narrowing conversion, 1, 2, 3
natural logarithms, 1
nesting interfaces, 1
network I/O, 1
new I/O, 1
- new operator, 1
-  and primitives, array, 1
- newInstance( ), 1
-  reflection, 1
next( ), Iterator, 1
- nio, 1
-  buffer, 1
 channel, 1
no-arg constructors, 1
North, BorderLayout, 1
not equivalent (!=), 1
NOT, logical (!), 1
notify( ), 1
notifyAll( ), 1
notifyListeners( ), 1
null, 1
NullPointerException, 1
numbers, binary, 1
- object, 1, 2
-  aliasing, 1
 arrays are first-class objects, 1
 assigning objects by copying references, 1
 business object/logic, 1
 Class object, 1, 2, 3
 clone( ), 1, 2
 creation, 1
 equals( ), 1
 equivalence, 1
 equivalence vs. reference equivalence, 1, 2
 final, 1
 five stages of object design, 1
 getClass( ), 1
 guidelines for object development, 1
 hashCode( ), 1
 immutable objects, 1
 interface to, 1
 lock, for multithreading, 1
 member, 1
 object-oriented programming, 1
 process of creation, 1
 serialization, 1, 2
 standard root class, default inheritance from, 1
 wait( ) and notify( ), 1
 web of objects, 1, 2
- object-oriented
-  analysis and design, 1
 basic concepts of object-oriented programming (OOP), 1
ObjectOutputStream, 1
obstacles, management, 1
Octal, 1
ones complement operator, 1
- OOP, 1
-  analysis and design, 1
 basic characteristics, 1
 basic concepts of object-oriented programming, 1
 protocol, 1
 Simula-67 programming language, 1
 substitutability, 1
operation, atomic, 1
- operator, 1
-  + and += overloading for String, 1
 +, for String, 1
 == and !=, 1
 binary, 1
 bitwise, 1
 casting, 1
 comma operator, 1, 2
 common pitfalls, 1
 indexing operator [ ], 1
 logical, 1
 logical operators and short-circuiting, 1
 ones-complement, 1
 operator overloading for String, 1
 overloading, 1
 precedence, 1
 precedence mnemonic, 1
 relational, 1
 shift, 1
 unary, 1, 2
 ternary, 1
optimizing, and profiling, 1
optional methods, in the Java 2 containers, 1
- OR, 1
-  (||), 1
- order
-  of constructor calls with inheritance, 1
 of initialization, 1, 2, 3
organization, code, 1
OutputStream, 1, 2
OutputStreamWriter, 1, 2
overflow, and primitive types, 1
- overloading
-  and constructors, 1
 distinguishing overloaded methods, 1
 lack of name hiding during inheritance, 1
 method overloading, 1
 on return values, 1
 operator + and += overloading for String, 1
 operator overloading, 1
 operator overloading for String, 1
 overloading vs. overriding, 1
- overriding
-  and inner classes, 1
 function, 1
 overloading vs. overriding, 1
 private methods, 1
- package, 1
-  access, and friendly, 1
 and directory structure, 1
 creating unique package names, 1
 default package, 1
 names, capitalization, 1
 package access, and protected, 1
 visibility, access, 1
paintComponent( ), 1, 2
painting on a JPanel in Swing, 1
pair programming, 1
paralysis, analysis, 1
parameter, applet, 1
parameterized type, 1
parseInt( ), 1
- pass
-  pass by value, 1
 passing a reference into a method, 1
pattern, regular expression, 1
patterns, design, 1, 2, 3
perfect hashing function, 1
- performance
-  and final, 1
 issues, 1
- persistence, 1
-  lightweight persistence, 1
PhantomReference, 1
philosophers, dining and threading, 1
pipe, 1
piped streams, 1
PipedInputStream, 1
PipedOutputStream, 1, 2
PipedReader, 1, 2
PipedWriter, 1, 2
planning, software development, 1
Plauger, P.J., 1
pluggable look & feel, 1
Plugin, Java, 1
- pointer
-  and Java, 1
 Java exclusion of pointers, 1
- polymorphism, 1, 2, 3, 4, 5
-  and constructors, 1
 behavior of polymorphic methods inside constructors, 1
portability in C, C++ and Java, 1
position, absolute, when laying out Swing components, 1
possessive quantifiers, 1
postcondition, design by contract, 1
precedence, mnemonic operator precedence, 1
precondition, design by contract, 1
preferences, JDK 1.4 API, 1
prerequisites, for this book, 1
- primitive
-  comparison, 1
 containers of primitives, 1
 data types, and use with operators, 1
 dealing with the immutability of primitive wrapper classes, 1
 final, 1
 final static primitives, 1
 initialization of class fields, 1
 types, 1
 wrappers, 1
printInfo( ), 1
printing arrays, 1
println( ), 1
printStackTrace( ), 1, 2
PrintStream, 1
PrintWriter, 1, 2, 3
priority, thread, 1
- private, 1, 2, 3, 4, 5, 6
-  illusion of overriding private methods, 1
 inner classes, 1
 interfaces, when nested, 1
 method overriding, 1
 methods, 1
problem space, 1, 2
process, and threading, 1
producer-consumer, threading, 1
- profiling
-  and optimizing, 1
 JVM interface, 1
programmer, client, 1
- programming
-  basic concepts of object-oriented programming (OOP), 1
 coding standards, 1
 event-driven programming, 1
 Extreme Programming (XP), 1, 2
 in the large, 1
 maintenance, 1
 multiparadigm, 1
 object-oriented, 1
 pair, 1
progress bar, 1
promotion, to int, 1, 2
- property, 1
-  bound properties, 1
 constrained properties, 1
 custom property editor, 1
 custom property sheet, 1
 indexed property, 1
PropertyChangeEvent, 1
PropertyDescriptors, 1
ProptertyVetoException, 1
- protected, 1, 2, 3, 4, 5
-  and package access, 1
 is also package access, 1
 use in clone( ), 1
protocol, 1
prototyping, rapid, 1
- public, 1, 2, 3, 4
-  and interface, 1
 class, and compilation units, 1
- pure
-  inheritance, vs. extension, 1
 substitution, 1, 2
PushbackInputStream, 1
PushBackReader, 1
put( ), HashMap, 1
Python, 1, 2
- quantifier
-  greedy, 1
 possessive, 1
 regular expression, 1
 reluctant, 1
- queue, 1, 2
-  FIFO, 1
RAD (Rapid Application Development), 1
radio button, 1
random number generator, values produced by, 1
random( ), 1
RandomAccessFile, 1, 2, 3, 4
rapid prototyping, 1
re-throwing an exception, 1
reachable objects and garbage collection, 1
- read( ), 1
-  nio, 1
readDouble( ), 1
Reader, 1, 2, 3
readExternal( ), 1
reading from standard input, 1
readLine( ), 1, 2, 3, 4
- readObject( ), 1
-  with Serializable , 1
recursion, unintended via toString( ), 1
redirecting standard I/O, 1
refactoring, 1
- reference
-  assigning objects by copying references, 1
 final, 1
 finding exact type of a base reference, 1
 null, 1
 reference equivalence vs. object equivalence, 1, 2
reference counting garbage collection, 1
Reference, from java.lang.ref, 1
referencing, forward, 1
- reflection, 1, 2, 3, 4
-  and Beans, 1
 and weak typing, 1
 difference between RTTI and reflection, 1
 example, 1
regex, 1
regular expressions, JDK 1.4, 1
relational operators, 1
reluctant quantifiers, 1
removeActionListener( ), 1, 2
removeXXXListener( ), 1
renameTo( ), 1
reporting errors in book, 1
request, in OOP, 1
requirements analysis, 1
reset( ), 1
responsive user interfaces, 1
- resume( ), 1
-  and deadlocks, 1
resumption, termination vs. resumption, exception handling, 1
- return
-  an array, 1
 constructor return value, 1
 overloading on return value, 1
reusability, 1
- reuse, 1
-  code reuse, 1
 existing class libraries, 1
 reusable code, 1
revision control system, source code, 1
rewind( ), 1
right-shift operator (>>), 1
rollover, 1
- RTTI
-  and cloning, 1
 cast, 1
 Class object, 1, 2, 3
 ClassCastException, 1
 Constructor class for reflection, 1
 downcast, 1
 Field, 1
 getConstructor( ), 1
 instanceof keyword, 1
 isInstance, 1
 Method, 1
 newInstance( ), 1
 reflection, 1
 reflection, difference between, 1
 run-time type identification, 1
 type-safe downcast, 1
Rumbaugh, James, 1
- run-time binding, 1
-  polymorphism, 1
- run-time type identification
-  (RTTI), 1
 misuse, 1
 shape example, 1
 when to use it, 1
- Runnable, 1
-  interface, 1
 Thread, 1
running a Java program, 1
RuntimeException, 1, 2, 3, 4
rvalue, 1
safety, and applet restrictions, 1
scenario, 1
scheduling, 1
- scope
-  inner class nesting within any arbitrary scope , 1
 inner classes in methods & scopes, 1
 use case, 1
scrolling in Swing, 1
- searching
-  an array, 1
 sorting and searching Lists, 1
section, critical section and synchronized block, 1
seek( ), 1, 2
semaphore, 1
- seminars
-  public Java seminars, 1
 training, provided by MindView, Inc., 1
sending a message, 1
separating business logic from UI logic, 1
separation of interface and implementation, 1, 2, 3
SequenceInputStream, 1, 2
- Serializable, 1, 2, 3, 4, 5
-  readObject( ), 1
 writeObject( ), 1
- serialization
-  and object storage, 1
 and transient, 1
 controlling the process of serialization, 1
 defaultReadObject( ), 1
 defaultWriteObject( ), 1
 to perform deep copying, 1
 Versioning, 1
ServerSocket, 1
Set, 1, 2, 3, 4
setActionCommand( ), 1
setBorder( ), 1
setContents( ), 1
setErr(PrintStream), 1
setIcon( ), 1
setIn(InputStream), 1
setLayout( ), 1
setMnemonic( ), 1
setOut(PrintStream), 1
setPriority( ), 1
setToolTipText( ), 1
setUp( ), JUnit, 1
shallow copy, 1, 2
- shape
-  example, 1, 2
 example, and run-time type identification, 1
shift operators, 1
short-circuit, and logical operators, 1
shortcut, keyboard, 1
show( ), 1
shuffle( ), 1
side effect, 1, 2, 3, 4
sign extension, 1
signed applets, 1
signed twos complement, 1
Simula-67 programming language, 1, 2
sine wave, 1
singleton design pattern, 1
size( ), ArrayList, 1
size, of a HashMap or HashSet, 1
sizeof( ), lack of in Java, 1
- sleep( ), 1
-  threading, 1
slider, 1
Smalltalk, 1, 2
SMTP, Simple Mail Transfer Protocol, 1
SocketChannel, 1
SoftReference, 1
Software Development Conference, 1
software development methodology, 1
solution space, 1
- sorting, 1
-  and searching Lists, 1
- source code, 1
-  copyright notice, 1
 revision control system, 1
South, BorderLayout, 1
- space
-  name spaces, 1
 problem space, 1
 solution space, 1
specialization, 1
- specification
-  exception specification, 1, 2
 system specification, 1
- specifier
-  access specifiers, 1, 2, 3
Stack, 1, 2
standard input, reading from, 1
standards, coding, 1, 2
startup costs, 1
stateChanged( ), 1
statement, mission, 1
- static, 1
-  and final, 1
 block, 1
 construction clause, 1
 data initialization, 1
 final static primitives, 1
 initialization, 1
 initialization clause, 1
 inner classes, 1
 keyword, 1
 method, 1, 2
 strong type checking, 1, 2
 synchronized static, 1
STL, C++, 1
- stop( )
-  and deadlocks, 1
 deprecation in Java 2, 1
stream, I/O, 1
StreamTokenizer, 1
- String
-  automatic type conversion, 1
 class methods, 1
 concatenation with operator +, 1
 immutability, 1
 indexOf( ), 1
 lexicographic vs. alphabetic sorting, 1
 methods, 1
 operator +, 1, 2
 operator + and += overloading, 1
 toString( ), 1, 2
- StringBuffer, 1
-  methods, 1
StringBufferInputStream, 1
StringReader, 1, 2
StringSelection, 1
StringTokenizer, 1
StringWriter, 1
strong static type checking, 1, 2
struts, in BoxLayout, 1
- style
-  coding style, 1
 of creating classes, 1
subobject, 1, 2
substitutability, in OOP, 1
substitution principle, 1
subtraction, 1
- super, 1
-  and inner classes, 1
super keyword, 1
super.clone( ), 1, 2, 3
superclass, 1
- suspend( ), 1
-  and deadlocks, 1
- Swing, 1
-  and concurrency, 1
 component examples, 1
 components, using HTML with, 1
 event model, 1, 2
switch keyword, 1
- synchronized, 1, 2
-  and inheritance, 1
 and wait( ) & notify( ), 1
 block, and critical section, 1
 containers, 1
 deciding what methods to synchronize, 1
 method, and blocking, 1
 static, 1
system clipboard, 1
system specification, 1
System.arraycopy( ), 1
- System.err, 1, 2
-  redirecting, 1
System.in, 1, 2
- System.out, 1
-  redirecting, 1
System.out.println( ), 1
systemNodeForPackage( ), preferences API, 1
tabbed dialog, 1
table, Swing JTable, 1
table-driven code, and anonymous inner classes, 1
tasks, ant, 1
tearDown( ), JUnit, 1
template method, design pattern, 1, 2, 3
template, in C++, 1
templates, Java generics (equivalent), 1
termination condition, and finalize( ), 1
termination vs. resumption, exception handling, 1
ternary operator, 1
- testing
-  automated, 1
 automated unit testing, 1
 Extreme Programming (XP), 1
 simple framework, 1
 techniques, 1
 unit testing, 1
Theory of Escalating Commitment, 1
Thinking in C#, 1
Thinking in Enterprise Java , 1
this keyword, 1
- Thread, 1
-  and Runnable, 1
 blocked, 1
 daemon threads, 1
 dead, 1
 deadlock, 1
 deciding what methods to synchronize, 1
 drawbacks, 1
 getPriority( ), 1
 group, 1
 I/O and threads, blocking, 1
 I/O between, 1
 interrupt( ), 1
 isDaemon( ), 1
 long and double non-atomicity, 1
 new Thread, 1
 notify( ), 1
 notifyAll( ), 1
 performance, 1
 priority, 1
 resume( ), 1
 resume( ), and deadlocks, 1
 run( ), 1
 Runnable, 1
 Runnable interface, 1
 setPriority( ), 1
 sharing limited resources, 1
 sleep( ), 1
 start( ), 1
 states, 1
 stop( ) , deprecation in Java 2, 1
 stop( ), and deadlocks, 1
 suspend( ), 1
 suspend( ), and deadlocks, 1
 synchronized method and blocking, 1
 threads and efficiency, 1
 wait( ), 1, 2
 when to use threads, 1
throw keyword, 1
- Throwable, 1
-  base class for Exception, 1
throwing an exception, 1
Timer, 1
toArray( ), 1
tool tips, 1
TooManyListenersException, 1, 2
toString( ), 1, 2, 3, 4
- training, 1
-  and mentoring, 1, 2
 seminars provided by MindView, Inc., 1
Transferable, 1
transferFrom( ), 1
transferTo( ), 1
transient keyword, 1
translation unit, 1
tree, 1
TreeMap, 1, 2
TreeSet, 1, 2
true, 1
- try, 1, 2
-  try block in exceptions, 1
tryLock( ), file locking, 1
twos complement, signed, 1
- type
-  base, 1
 data type equivalence to class, 1
 derived, 1
 finding exact type of a base reference, 1
 parameterized type, 1
 primitive, 1
 primitive data types and use with operators, 1
 type checking and arrays, 1
 type checking, strong static, 1
 type safety in Java, 1
 type-safe downcast in run-time type identification, 1
 weak typing, 1
TYPE field, for primitive class literals, 1
type safe sets of constants, 1
type-conscious ArrayList, 1
typed checking, strong static, 1
- UML, 1
-  indicating composition, 1
 Unified Modeling Language, 1, 2
- unary
-  minus (-), 1
 operator, 1
 operators, 1
 plus (+), 1
unchecked exceptions, converting from checked, 1
- unicast, 1
-  unicast events, 1
Unicode, 1
Unified Modeling Language (UML), 1, 2
- unit testing, 1
-  automated, 1
unmodifiable, making a Collection or Map unmodifiable, 1
unsupported methods, in the Java 2 containers, 1
UnsupportedOperationException, 1
- upcasting, 1, 2, 3, 4
-  and interface, 1
 inner classes and upcasting, 1
update, CVS, 1
updates of the book, 1
- use case, 1
-  iteration, 1
 scope, 1
- user interface, 1
-  responsive, with threading, 1, 2
userNodeForPackage( ), preferences API, 1
value, preventing change at run time, 1
- variable
-  defining a variable, 1
 initialization of method variables, 1
 variable argument lists (unknown quantity and type of arguments), 1
Vector, 1, 2, 3
vector of change, 1, 2
versioning, serialization, 1
versions of Java, 1
visibility, package visibility, 1
Visual BASIC, Microsoft, 1
- visual programming, 1
-  environments, 1
volatile, 1
wait( ), 1, 2
Waldrop, M. Mitchell, 1
WeakHashMap, 1
weakly typed language, 1
WeakReference, 1
- Web
-  placing an applet inside a Web page, 1
 safety, and applet restrictions, 1
web of objects, 1, 2
Web Start, Java, 1
West, BorderLayout, 1
while, 1
white-box testing, 1
widening conversion, 1
wild-card, 1
windowClosing( ), 1
windowed applications, 1
wrapper, dealing with the immutability of primitive wrapper classes, 1
- write( ), 1
-  nio, 1
writeBytes( ), 1
writeChars( ), 1
writeDouble( ), 1
writeExternal( ), 1
- writeObject( ), 1
-  with Serializable, 1
Writer, 1, 2, 3
XOR (Exclusive-OR), 1
XP (Extreme Programming), 1
yield( ), threading, 1, 2
zero extension, 1
ZipEntry, 1
ZipInputStream, 1
ZipOutputStream, 1
- [ ]
-  indexing operator [ ], 1
^, 1
^=, 1
|, 1
|=, 1
||, 1