Thinking in Java, 2nd ed. Revision 11 - Index
 
 , !
 , ‘
 , &
 , >
 , <
 , +
 , -
 , 1
 , =
 , @
 , 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
 , [
 , ^
 , |
-  boolean
 -  operators that won’t work with boolean, 1
 
 javac , 1
!, 1
- !=, 1
 -  operator, 1
 
- ‘+’
 -  operator + for String, 1
 
&, 1
&&, 1
&=, 1
>, 1
>>, 1
>>=, 1
>=, 1
<, 1
<<, 1
<<=, 1
<=, 1
+, 1
-, 1
- 1.localhost
 -  and RMI, 1
 
- ==, 1
 -  operator, 1
 vs. equals( ), 1 
@deprecated, 1
- abstract
 -  class, 1
 inheriting from an abstract class, 1
 vs. interface, 1 
abstract keyword, 1
Abstract Window Toolkit (AWT), 1
AbstractButton, 1
abstraction, 1
AbstractSequentialList, 1
AbstractSet, 1
accept( ), 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
alphabetic vs. lexicographic sorting, 1
AlreadyBoundException, 1
- analysis
 -  and design, object-oriented, 1
 paralysis, 1
 requirements analysis, 1 
- AND
 -  bitwise, 1
 logical (&&), 1 
- anonymous inner class, 1, 2, 3, 4
 -  and constructors, 1
 
anonymous inner class, and table-driven code, 1
- applet, 1
 -  advantages for client/server systems, 1
 align, 1
 and packages, 1
 archive tag, for HTML and JAR files, 1
 classpath, 1
 codebase, 1
 combined applets and applications, 1
 combined with application, 1
 displaying a Web page from within an applet, 1
 initialization parameters, 1
 name, 1
 packaging applets in a JAR file to optimize loading, 1
 parameter, 1
 placing inside a Web page, 1
 restrictions, 1 
appletviewer, 1
- application
 -  application builder, 1
 application framework, 1
 combined applets and applications, 1
 combined with Applet, 1
 windowed applications, 1 
application framework, and applets, 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
 -  add( ), 1
 and deep copying, 1
 get( ), 1, 2
 size( ), 1
 type-conscious ArrayList, 1
 used with HashMap, 1 
Arrays class, container utility, 1
Arrays.asList( ), 1
Arrays.binarySearch( ), 1
Arrays.fill( ), 1
assigning objects, 1
assignment, 1
associative array, 1, 2
associative arrays (Maps), 1
auto-decrement operator, 1
auto-increment operator, 1
automatic type conversion, 1
available( ), 1
bag, 1
- base
 -  types, 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 
- Basic
 -  Microsoft Visual Basic, 1
 
basic concepts of object-oriented programming (OOP), 1
BASIC language, 1
BasicArrowButton, 1
beanbox Bean testing tool, 1
- BeanInfo
 -  custom BeanInfo, 1
 
- Beans
 -  and Borland’s Delphi, 1
 and Microsoft’s Visual Basic, 1
 and multithreading, 1
 application builder, 1
 beanbox Bean testing tool, 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
Bill Joy, 1
- binary
 -  numbers, 1
 operators, 1 
binary numbers, printing, 1
binarySearch( ), 1
bind( ), 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
 EXCLUSIVE OR XOR (^), 1
 NOT ~, 1
 operators, 1
 OR, 1
 OR operator (|), 1 
bitwise copy, 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
 vs. C and C++, 1 
BorderLayout, 1
- Borland, 1
 -  Delphi, 1
 
bound properties, 1
bounds checking, array, 1
Box, for BoxLayout, 1
BoxLayout, 1
break keyword, 1
- browser
 -  class browser, 1
 
BufferedInputStream, 1
BufferedOutputStream, 1
BufferedReader, 1, 2, 3
BufferedWriter, 1, 2
business objects/logic, 1
- button
 -  creating your own, 1
 radio button, 1 
button, Swing, 1
ButtonGroup, 1, 2
buttons, 1
ByteArrayInputStream, 1
ByteArrayOutputStream, 1
- C++, 1
 -  copy constructor, 1
 Standard Container Library aka STL, 1
 strategies for transition to, 1
 templates, 1
 vector class, vs. array and ArrayList, 1
 why it succeeds, 1 
C/C++, interfacing with, 1
callback, 1, 2, 3
- callbacks
 -  and inner classes, 1
 
capacity, of a HashMap or HashSet, 1
- capitalization
 -  Java capitalization style source-code checking tool, 1
 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 
CD ROM for book, 1
- CGI
 -  Common-Gateway Interface, 1
 
- change
 -  vector of change, 1
 
CharArrayReader, 1
CharArrayWriter, 1
check box, 1
CheckedInputStream, 1
CheckedOutputStream, 1
Checksum, 1
- class, 1, 2, 3
 -  abstract class, 1
 access, 1
 anonymous inner, 1
 anonymous inner class, 1, 2, 3
 anonymous inner class and constructors, 1
 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 data members, 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
 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 object, 1
class-responsibility-collaboration (CRC) cards, 1
ClassCastException, 1, 2
- classpath, 1, 2
 -  and rmic, 1
 
- cleanup
 -  and garbage collector, 1
 performing, 1
 with finally, 1 
cleanup, guaranteeing with finalize( ), 1
- client programmer, 1
 -  vs. library creator, 1
 
client, network, 1
- clipboard
 -  system clipboard, 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
 -  calling non-Java code, 1
 coding standards, 1, 2
 organization, 1
 re-use, 1 
codebase, 1
Collection, 1
collection class, 1
Collections, 1
Collections.enumeration( ), 1
Collections.fill( ), 1
Collections.reverseOrder(), 1
- collision
 -  name, 1
 
collisions, during hashing, 1
com.bruceeckel.swing, 1
combo box, 1
comma operator, 1, 2
Command Pattern, 1
- comments
 -  and embedded documentation, 1
 
common interface, 1
common pitfalls when using operators, 1
Common-Gateway Interface (CGI), 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, 2 
- compression
 -  compression library, 1
 
concept, high, 1
ConcurrentModificationException, 1
conditional operator, 1
conference, Software Development Conference, 1
- Console
 -  Swing display framework in com.bruceeckel.swing, 1
 
console input, 1
const, in C++, 1
- constant
 -  compile-time constant, 1
 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
 default, 1
 default constructors, 1
 for reflection, 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 Bruce Eckel , 1
- container
 -  class, 1, 2
 of primitives, 1 
container classes, utilities for, 1
continue keyword, 1
- control
 -  access, 1
 
control framework, and inner classes, 1
controlling access, 1
- conversion
 -  automatic, 1
 narrowing conversion, 1, 2
 widening conversion, 1 
- cookies
 -  and JSP, 1
 
cookies, and servlets, 1
- copy
 -  deep copy, 1
 shallow copy, 1 
copying an array, 1
CORBA, 1
costs, startup, 1
coupling, 1
CRC, class-responsibility-collaboration cards, 1
CRC32, 1
createStatement( ), 1
critical section, and synchronized block, 1
daemon threads, 1
- data
 -  final , 1
 primitive data types and use with operators, 1
 static initialization, 1 
- data type
 -  equivalence to class, 1
 
- database
 -  flat-file database, 1
 Java DataBase Connectivity (JDBC), 1
 relational database, 1
 URL, 1 
DatabaseMetaData, 1
DataFlavor, 1
- Datagram, 1
 -  User Datagram Protocol (UDP), 1
 
DataInput, 1
DataInputStream, 1, 2, 3, 4
DataOutput, 1
DataOutputStream, 1, 2, 3
dead, Thread, 1
deadlock, multithreading, 1, 2
death condition, and finalize( ), 1
decorator design pattern, 1
- decoupling
 -  via polymorphism, 1
 
decoupling through polymorphism, 1
decrement operator, 1
- deep copy, 1, 2
 -  and ArrayList, 1
 using serialization to perform deep copying, 1 
- default constructor, 1, 2
 -  synthesizing a default constructor, 1
 
default constructor, access the same as the class, 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
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
 of object hierarchies, 1
 patterns, 1, 2 
- design patterns, 1
 -  decorator, 1
 singleton, 1 
destroy( ), 1
- destructor, 1, 2, 3
 -  Java doesn’t have one, 1
 
development, incremental, 1
- diagram
 -  inheritance, 1
 use case, 1 
diagram, class inheritance diagrams, 1
dialog box, 1
dialog, file, 1
dialog, tabbed, 1
dictionary, 1
digital signing, 1
- directory
 -  and packages, 1
 creating directories and paths, 1
 lister, 1 
display framework, for Swing, 1
dispose( ), 1
division, 1
do-while, 1
- documentation
 -  comments & embedded documentation, 1
 
Domain Name System (DNS), 1
dotted quad, 1
double, literal value marker (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
 when using the synchronized keyword, 1 
EJB, 1
elegance, in programming, 1
else keyword, 1
encapsulation, 1
Enterprise JavaBeans (EJB), 1
enum, groups of constant values in C & C++, 1
Enumeration, 1
- equals( ), 1, 2
 -  and hashed data structures, 1
 overriding for HashMap, 1
 vs. ==, 1 
- equivalence
 -  ==, 1
 object equivalence, 1 
- error
 -  handling with exceptions, 1
 recovery, 1
 reporting errors in book, 1
 standard error stream, 1 
- event
 -  event-driven system, 1
 JavaBeans, 1
 multicast, 1
 multicast event and JavaBeans, 1
 responding to a Swing event, 1
 Swing event model, 1
 unicast, 1 
- event listener, 1
 -  order of execution, 1
 
event model, Swing, 1
event-driven programming, 1
events and listeners, 1
EventSetDescriptors, 1
evolution, in program development, 1
- exception
 -  and base-class constructors, 1
 and constructors, 1
 and inheritance, 1, 2
 catching an exception, 1
 catching any exception, 1
 changing the point of origin of the exception, 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
 losing an exception, pitfall, 1
 NullPointerException, 1
 printStackTrace( ), 1
 re-throwing an exception, 1
 restrictions, 1
 RuntimeException, 1
 specification, 1
 termination vs. resumption, 1
 Throwable, 1
 throwing an exception, 1, 2
 try, 1
 try block, 1
 typical uses of exceptions, 1 
exceptional condition, 1
- exceptions
 -  and JNI , 1
 
executeQuery( ), 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
- Externalizable, 1
 -  alternative approach to using, 1
 
Extreme Programming (XP), 1, 2
fail fast containers, 1
false, 1
FeatureDescriptor, 1
Field, for reflection, 1
fields, initializing fields in interfaces, 1
FIFO, 1
- File, 1, 2, 3
 -  characteristics of files, 1
 class, 1
 File.list( ), 1
 incomplete output files, errors and flushing, 1
 JAR file, 1 
file dialogs, 1
File Transfer Protocol (FTP), 1
FileDescriptor, 1
FileInputReader, 1
FileInputStream, 1
FilenameFilter, 1, 2
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
 and super, 1
 calling directly, 1
 order of finalization of objects, 1 
- finally, 1, 2
 -  and constructors, 1
 keyword, 1
 pitfall, 1 
finding .class files during loading, 1
flat-file database, 1
flavor, clipboard, 1
float, literal value marker(F), 1
- floating point
 -  true and false, 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
- framework
 -  application framework and applets, 1
 control framework and inner classes, 1 
- friendly, 1, 2
 -  and interface, 1
 and protected, 1
 less accessible than protected, 1 
- FTP
 -  File Transfer Protocol (FTP), 1
 
- function
 -  member function, 1
 overriding, 1 
functor, 1
- garbage collection, 1, 2, 3
 -  and cleanup, 1
 and native method execution, 1
 forcing finalization, 1
 how the collector works, 1
 order of object reclamation, 1
 reachable objects, 1
 setting references to null to allow cleanup, 1 
generator, 1
generator object, to fill arrays and containers, 1
get( ), ArrayList, 1, 2
get( ), HashMap, 1
getBeanInfo( ), 1
getBytes( ), 1
getClass( ), 1, 2
getConstructor( ), 1
getConstructors( ), 1
getContentPane( ), 1
getContents( ), 1
getEventSetDescriptors( ), 1
getFloat( ), 1
getInputStream( ), 1
getInt( ), 1
getInterfaces( ), 1
getMethodDescriptors( ), 1
getMethods( ), 1
getModel( ), 1
getName( ), 1, 2
getOutputStream( ), 1
getPriority( ), 1
getPropertyDescriptors( ), 1
getPropertyType( ), 1
getReadMethod( ), 1
getSelectedValues( ), 1
getState( ), 1
getString( ), 1
getSuperclass( ), 1
getTransferData( ), 1
getTransferDataFlavors( ), 1
getWriteMethod( ), 1
Glass, Robert, 1
glue, in BoxLayout, 1
- goto
 -  lack of goto in Java, 1
 
graphical user interface (GUI), 1, 2
Graphics, 1, 2
greater than (>), 1
greater than or equal to (>=), 1
GridBagLayout, 1
GridLayout, 1, 2
guarded region, in exception handling, 1
- GUI
 -  graphical user interface, 1, 2
 
GUI builders, 1
- guidelines
 -  object development, 1
 
guidelines, coding standards, 1
GZIPInputStream, 1
GZIPOutputStream, 1
handler, exception, 1
hardware devices, interfacing with, 1
has-a, 1
has-a relationship, composition, 1
hash code, 1, 2
hash function, 1
- hashCode( ), 1, 2
 -  and hashed data structures, 1
 issues when writing, 1
 overriding for HashMap, 1 
- hashing, 1
 -  external chaining, 1
 perfect hashing function, 1 
- HashMap, 1, 2, 3
 -  used with ArrayList, 1
 
HashSet, 1, 2
Hashtable, 1, 2
hasNext( ), Iterator, 1
Hexadecimal, 1
- hiding
 -  implementation, 1
 
hiding, implementation, 1
high concept, 1
- HTML, 1
 -  name, 1
 param, 1
 value, 1 
HTML on Swing components, 1
- I/O
 -  and threads, blocking, 1
 available( ), 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, 3
 File class, 1
 File.list( ), 1
 FileDescriptor, 1
 FileInputReader, 1
 FileInputStream, 1
 FilenameFilter, 1, 2
 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, 2
 InputStreamReader, 1, 2, 3
 internationalization, 1
 library, 1
 lightweight persistence, 1
 LineNumberInputStream, 1
 LineNumberReader, 1
 mark( ), 1
 mkdirs( ), 1
 nextToken( ), 1
 ObjectOutputStream, 1
 output, 1
 OutputStream, 1, 2, 3
 OutputStreamWriter, 1, 2, 3
 pipe, 1
 piped stream, 1
 piped streams, 1
 PipedInputStream, 1
 PipedOutputStream, 1, 2
 PipedReader, 1
 PipedWriter, 1
 PrintStream, 1
 PrintWriter, 1, 2, 3, 4
 pushBack( ), 1
 PushbackInputStream, 1
 PushBackReader, 1
 RandomAccessFile, 1, 2, 3
 read( ), 1
 readChar( ), 1
 readDouble( ), 1
 Reader, 1, 2, 3, 4
 readExternal( ), 1
 readLine( ), 1, 2, 3, 4, 5
 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, 2, 3, 4
 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, 4
 ZipEntry, 1
 ZipInputStream, 1
 ZipOutputStream, 1 
Icon, 1
IDL, 1
idltojava, 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, 2
 
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
 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
 member initializers, 1
 non-static instance initialization, 1
 of class data members, 1
 of method variables, 1
 order of initialization, 1, 2
 static, 1
 with inheritance, 1 
- inizialization
 -  lazy, 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, 1
 anonymous inner class, 1, 2
 anonymous inner class and constructors, 1
 anonymous, 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, 1
 private inner classes, 1
 referring to the outer class object, 1
 static inner classes, 1
- input
 -  console input, 1
 
InputStream, 1, 2
InputStreamReader, 1, 2, 3
insertNodeInto( ), 1
- instance
 -  instance initialization , 1
 non-static instance initialization, 1 
instance of a class, 1
- instanceof
 -  dynamic instanceof, 1
 keyword, 1 
- Integer
 -  parseInt( ), 1
 
Integer wrapper class, 1
- interface
 -  and implementation, separation, 1
 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
 graphical user interface (GUI), 1, 2
 implementation, separation of, 1
 initializing fields in interfaces, 1
 keyword, 1
 nesting interfaces within classes and other interfaces, 1
 private, as nested interfaces, 1
 Runnable, 1
 separation of interface and implementation, 1
 upcasting to an interface, 1
 user, 1
 vs. abstract, 1
 vs. implemenation, 1 
Interface Definition Language (IDL), 1
- interfaces
 -  name collisions when combining interfaces, 1
 
interfacing with hardware devices, 1
internationalization, in I/O library, 1
- Internet
 -  Internet Protocol, 1
 Internet Service Provider (ISP), 1 
interrupt( ), 1
InterruptedException, 1
- intranet, 1
 -  and applets, 1
 
Introspector, 1
IP (Internet Protocol), 1
- is-a, 1
 -  relationship, inheritance, 1
 relationship, inheritance & 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, 4
 -  hasNext( ), 1
 next( ), 1 
iterator( ), 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 
JAR utility, 1, 2
- Java, 1
 -  and pointers, 1
 and set-top boxes, 1
 capitalization style source-code checking tool, 1
 compiling and running a program, 1
 containers library, 1, 2
 public Java seminars, 1
 versions, 1 
- Java 1.1
 -  I/O streams, 1
 
Java AWT, 1
Java Foundation Classes (JFC/Swing), 1
Java operators, 1
Java programs, running from the Windows Explorer, 1
Java Server Pages (JSP), 1
Java Virtual Machine, 1
- JavaBeans
 -  see Beans, 1
 
javah, 1
JButton, 1
JButton, Swing, 1
JCheckBox, 1, 2
JCheckBoxMenuItem, 1, 2
JComboBox, 1
JComponent, 1, 2
- JDBC
 -  createStatement( ), 1
 database URL, 1
 DatabaseMetaData, 1
 executeQuery( ), 1
 flat-file database, 1
 getFloat( ), 1
 getInt( ), 1
 getString( ), 1
 Java DataBase Connectivity, 1
 join, 1
 relational database, 1
 ResultSet, 1
 SQL stored procedures, 1
 Statement, 1
 Structured Query Language (SQL), 1 
- JDialog, 1
 -  menus, 1
 
- JDK
 -  downloading and installing, 1
 
- JFC
 -  Java Foundation Classes (JFC/Swing), 1
 
JFileChooser, 1
- JFrame, 1, 2
 -  menus, 1
 
Jini, 1
- JIT
 -  Just-In Time compilers, 1
 
JLabel, 1, 2
JList, 1
JMenu, 1, 2
JMenuBar, 1, 2
JMenuItem, 1, 2, 3, 4, 5
JNI functions, 1
JNICALL, 1
JNIEnv, 1
JNIEXPORT, 1
join, 1
JOptionPane, 1
JPanel, 1, 2, 3, 4
JPopupMenu, 1
JProgressBar, 1
JRadioButton, 1, 2
JScrollPane, 1, 2, 3, 4
JSlider, 1
JSP, 1
JTabbedPane, 1
JTable, 1
JTextArea, 1, 2
JTextField, 1, 2
JTextPane, 1
JToggleButton, 1
JTree, 1
JVM (Java Virtual Machine), 1
keyboard navigation, and Swing, 1
keyboard shortcuts, 1
keySet( ), 1
- keywords
 -  class, 1, 2
 
Koenig, Andrew, 1
label, 1
labeled break, 1
labeled continue, 1
late binding, 1, 2, 3
- layout
 -  controlling layout with layout managers, 1
 
lazy inizialization, 1
left-shift operator (<<), 1
length, array member, 1
length, 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
 -  Swing components, 1
 
lightweight persistence, 1
LineNumberInputStream, 1
LineNumberReader, 1
linked list, 1
LinkedList, 1, 2, 3
- List, 1, 2, 3, 4, 5
 -  drop-down list, 1
 sorting and searching, 1 
list boxes, 1
listener adapters, 1
listener classes, 1
listener interfaces, 1
listeners and events, 1
Lister, Timothy, 1
ListIterator, 1
- literal
 -  class literal, 1, 2
 double, 1
 float, 1
 long, 1
 values, 1 
load factor, of a HashMap or HashSet, 1
- loading
 -  .class files, 1
 initialization & class loading, 1
 loding a class, 1 
local loopback IP address, 1
localhost, 1
lock, for multithreading, 1
- logarithms
 -  natural logarithms, 1
 
- logical
 -  AND, 1
 operator and short-circuiting, 1
 operators, 1
 OR, 1 
long, literal value marker (L), 1
- Look & Feel
 -  Pluggable, 1
 
lvalue, 1
main( ), 1
maintenance, program, 1
management obstacles, 1
manifest file, for JAR files, 1, 2
Map, 1, 2, 3, 4, 5, 6
Map.Entry, 1
mark( ), 1
- Math.random( ), 1
 -  values produced by, 1
 
mathematical operators, 1
max( ), 1
- member
 -  member function, 1
 object, 1 
member initializers, 1
memory exhaustion, solution via References, 1
- mentoring
 -  and training, 1, 2
 
- menu
 -  JPopupMenu, 1
 
- menus
 -  JDialog, JApplet, JFrame, 1
 
message box, in Swing, 1
message,  sending, 1
meta-class, 1
- Method, 1
 -  adding more methods to a design, 1
 aliasing during a method call, 1
 aliasing during method calls, 1
 behavior of polymorphic methods inside constructors, 1
 distinguishing overloaded methods, 1
 final, 1, 2
 final methods, 1
 for reflection, 1
 inline method calls, 1
 inner classes in methods & scopes, 1
 lookup tool, 1
 method call binding, 1
 overloading, 1
 passing a reference into a method, 1
 polymorphic method call, 1
 private, 1
 protected methods, 1
 recursive, 1
 static, 1
 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
multi-tiered systems, 1
- multicast, 1
 -  event, and JavaBeans, 1
 multicast events, 1 
multidimensional arrays, 1
Multimedia CD ROM for book, 1
multiparadigm programming, 1
multiple inheritance, in C++ and Java, 1
multiplication, 1
multiply-nested class, 1
MultiStringMap, 1
multitasking, 1
- multithreading, 1, 2
 -  and containers, 1
 and JavaBeans, 1
 blocking, 1
 deadlock, 1
 deciding what methods to synchronize, 1
 drawbacks, 1
 Runnable, 1
 servlets, 1
 when to use it, 1 
- name, 1
 -  clash, 1
 collisions, 1
 creating unique package names, 1
 spaces, 1 
name collisions when combining interfaces, 1
name, HTML keyword, 1
- Naming
 -  bind( ), 1
 rebind( ), 1
 unbind( ), 1 
narrowing conversion, 1, 2, 3
native method interface (NMI) in Java 1.0, 1
natural logarithms, 1
nesting interfaces, 1
- network programming, 1
 -  accept( ), 1
 client, 1
 Common-Gateway Interface (CGI), 1
 datagrams, 1
 dedicated connection, 1
 displaying a Web page from within an applet, 1
 DNS (Domain Name System), 1
 dotted quad, 1
 getInputStream( ), 1
 getOutputStream( ), 1
 HTML, 1
 identifying machines, 1
 Internet Protocol (IP), 1
 Java DataBase Connectivity (JDBC), 1
 local loopback IP address, 1
 localhost, 1
 multithreading, 1
 port, 1
 reliable protocol, 1
 server, 1
 serving multiple clients, 1
 showDocument( ), 1
 Socket, 1
 stream-based sockets, 1
 testing programs without a network, 1
 Transmission Control Protocol (TCP), 1
 unreliable protocol, 1
 URL, 1
 User Datagram Protocol (UDP), 1 
- new operator, 1
 -  and primitives, array, 1
 
- newInstance( ), 1
 -  reflection, 1
 
next( ), Iterator, 1
nextToken( ), 1
- NMI
 -  Java 1.0 native method interface, 1
 
- no-arg
 -  constructors, 1
 
non-Java code, calling, 1
North, BorderLayout, 1
- NOT
 -  logical (!), 1
 
not equivalent (!=), 1
notify( ), 1
notifyAll( ), 1
notifyListeners( ), 1
- null, 1, 2
 -  garbage collection, allowing cleanup, 1
 
NullPointerException, 1
numbers, binary, 1
- object, 1, 2
 -  aliasing, 1
 arrays are first-class objects, 1
 assigning objects by copying references, 1
 assignment and reference copying, 1
 business object/logic, 1
 Class object, 1, 2, 3
 clone( ), 1, 2
 creation, 1
 equals( ) method, 1
 equivalence, 1
 equivalence vs reference equivalence, 1
 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
 order of finalization of objects, 1
 process of creation, 1
 reference equivalence vs. object equivalence, 1
 serialization, 1, 2
 standard root class, default inheritance from, 1
 wait( ) and notify( ) methods, 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
ODBC, 1
OMG, 1
ones complement operator, 1
- OOP, 1
 -  analysis and design, 1
 basic characteristics, 1
 basic concepts of object-oriented programming, 1
 protocol, 1
 Simula programming language, 1
 substitutability, 1 
- operator, 1
 -  + and += overloading for String, 1
 +, for String, 1
 == and !=, 1
 binary, 1
 bitwise, 1
 casting, 1
 comma, 1
 comma operator, 1
 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 
optional methods, in the Java 2 containers, 1
- OR, 1
 -  (||), 1
 
- order
 -  of constructor calls with inheritance, 1
 of finalization of objects, 1
 of initialization, 1, 2, 3 
organization, code, 1
OutputStream, 1, 2, 3
OutputStreamWriter, 1, 2, 3
- 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
 vs. overriding, 1 
- overriding
 -  and inner classes, 1
 function, 1
 overloading vs. overriding, 1
 vs. overloading, 1 
- package, 1
 -  access, and friendly, 1
 and applets, 1
 and directory structure, 1
 creating unique package names, 1
 default package, 1
 names, capitalization, 1
 visibility, friendly, 1 
paintComponent( ), 1, 2
Painting on a JPanel in Swing, 1
pair programming, 1
paralysis, analysis, 1
param, HTML keyword, 1
parameter, applet, 1
parameterized type, 1
parseInt( ), 1
- pass
 -  pass by value, 1
 passing a reference into a method, 1 
- Pattern
 -  Command Pattern, 1
 
patterns, design, 1, 2
patterns, design patterns, 1
perfect hashing function, 1
- performance
 -  and final, 1
 
performance issues, 1
Perl programming language, 1
- persistence, 1
 -  lightweight persistence, 1
 
PhantomReference, 1
pipe, 1
piped stream, 1
piped streams, 1
PipedInputStream, 1
PipedOutputStream, 1, 2
PipedReader, 1
PipedWriter, 1
planning, software development, 1
Plauger, P.J., 1
Pluggable Look & Feel, 1
- pointer
 -  Java exclusion of pointers, 1
 
pointers, and Java, 1
- polymorphism, 1, 2, 3, 4, 5
 -  and constructors, 1
 behavior of polymorphic methods inside constructors, 1 
port, 1
portability in C, C++ and Java, 1
position, absolute, when laying out Swing components, 1
- precedence
 -  operator precedence mnemonic, 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 data members, 1
 wrappers, 1 
primitive types, 1
printInfo( ), 1
printing arrays, 1
println( ), 1
printStackTrace( ), 1, 2
PrintStream, 1
PrintWriter, 1, 2, 3, 4
- priority
 -  default priority for a Thread group, 1
 thread, 1 
- private, 1, 2, 3, 4, 5, 6
 -  illusion of overriding private methods, 1
 inner class, 1
 inner classes, 1
 interfaces, when nested, 1
 methods, 1 
problem space, 1, 2
process, and threading, 1
- program
 -  maintenance, 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
 multiparadigm, 1
 object-oriented, 1
 pair, 1 
progress bar, 1
- promotion
 -  of primitive types, 1
 type promotion, 1 
Properties, 1
- 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 friendly, 1
 is also friendly, 1
 more accessible than friendly, 1
 use in clone( ), 1 
- protocol, 1
 -  unreliable protocol, 1
 
- prototyping
 -  rapid, 1
 
- public, 1, 2, 3, 4
 -  and interface, 1
 class, and compilation units, 1 
- pure
 -  substitution, 1
 
pure inheritance, vs. extension, 1
pure substitution, 1
pushBack( ), 1
PushbackInputStream, 1
PushBackReader, 1
put( ), HashMap, 1
Python, 1, 2
queue, 1, 2
RAD (Rapid Application Development), 1
radio button, 1
random number generator, values produced by, 1
random( ), 1
RandomAccessFile, 1, 2, 3
rapid prototyping, 1
re-throwing an exception, 1
reachable objects and garbage collection, 1
read( ), 1
readChar( ), 1
readDouble( ), 1
Reader, 1, 2, 3, 4, 5
readExternal( ), 1
reading from standard input, 1
readLine( ), 1, 2, 3, 4, 5
- readObject( ), 1
 -  with Serializable , 1
 
rebind( ), 1
recursion, unintended via toString(), 1
redirecting standard I/O, 1
refactoring, 1
- reference
 -  assigning objects by copying references, 1
 equivalence vs object equivalence, 1
 final, 1
 finding exact type of a base reference, 1
 null, 1
 reference equivalence vs. object equivalence, 1 
Reference, from java.lang.ref, 1
referencing, forward referencing, 1
- reflection, 1, 2, 3, 4
 -  and Beans, 1
 difference between RTTI and reflection, 1 
reflection example, 1
- registry
 -  remote object registry, 1
 
- relational
 -  database, 1
 operators, 1 
reliable protocol, 1
Remote Method Invocation (RMI), 1
RemoteException, 1
removeActionListener( ), 1, 2
removeXXXListener( ), 1
renameTo( ), 1
reporting errors in book, 1
request, in OOP, 1
requirements analysis, 1
reset( ), 1
ResultSet, 1
- resume( ), 1, 2
 -  and deadlocks, 1
 deprecation in Java 2, 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 
right-shift operator (>>), 1
- RMI
 -  AlreadyBoundException, 1
 and CORBA, 1
 bind( ), 1
 localhost, 1
 rebind( ), 1
 Remote, 1
 remote interface, 1
 Remote Method Invocation, 1
 remote object registry, 1
 RemoteException, 1, 2
 rmic, 1
 rmic and classpath, 1
 rmiregistry, 1
 RMISecurityManager, 1
 Serializable arguments, 1
 skeleton, 1
 stub, 1
 TCP/IP, 1
 unbind( ), 1
 UnicastRemoteObject, 1 
rmic, 1
rmiregistry, 1
RMISecurityManager, 1
rollover, 1
- RTTI
 -  and cloning, 1
 cast, 1
 Class, 1
 Class object, 1
 ClassCastException, 1
 Constructor, 1
 difference between RTTI and reflection, 1
 downcast, 1
 Field, 1
 getConstructor( ), 1
 instanceof keyword, 1
 isInstance, 1
 meta-class, 1
 Method, 1
 newInstance( ), 1
 reflection, 1
 run-time type identification (RTTI), 1
 type-safe downcast, 1
 using the Class object, 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 
runFinalizersOnExit( ), 1
- Runnable, 1
 -  interface, 1
 Thread, 1 
running a Java program, 1
RuntimeException, 1, 2
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
 -  sorting and searching Lists, 1
 
searching an array, 1
section, critical section and synchronized block, 1
seek( ), 1, 2
- seminars
 -  public Java seminars, 1
 training, provided by Bruce Eckel, 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
 RMI arguments, 1
 to perform deep copying, 1
 Versioning, 1 
server, 1
- servlet, 1
 -  multithreading, 1
 running servlets with Tomcat, 1
 session tracking, 1 
- session
 -  and JSP, 1
 
session tracking, with servlets, 1
Set, 1, 2, 3, 4, 5
setActionCommand( ), 1
setBorder( ), 1
setContents( ), 1
setDaemon( ), 1
setDefaultCloseOperation( ), 1
setErr(PrintStream), 1
setIcon( ), 1
setIn(InputStream), 1
setLayout( ), 1
setMnemonic( ), 1
setOut(PrintStream), 1
setPriority( ), 1
setToolTipText( ), 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
showDocument( ), 1
shuffle( ), 1
side effect, 1, 2, 3, 4
sign extension, 1
signed two’s complement, 1
Simula programming language, 1
Simula-67, 1
sine wave, 1
- singleton
 -  design pattern, 1
 
size( ), ArrayList, 1
Size, of a HashMap or HashSet, 1
- sizeof( )
 -  lack of in Java, 1
 
skeleton, RMI, 1
sleep( ), 1, 2, 3, 4
slider, 1
Smalltalk, 1, 2
Socket, 1
sockets, stream-based, 1
SoftReference, 1
- software
 -  development methodology, 1
 
Software Development Conference, 1
solution space, 1
- sorting, 1
 -  and searching Lists, 1
 
source code copyright notice, 1
South, BorderLayout, 1
- space
 -  problem, 1
 solution, 1 
specialization, 1
- specification
 -  system specification, 1
 
specification, exception, 1
- specifier
 -  access specifiers, 1, 2, 3
 
- SQL
 -  stored procedures, 1
 Structured Query Language, 1 
Stack, 1, 2
- standard input
 -  Reading from standard input, 1
 
- standards
 -  coding standards, 1, 2
 
startup costs, 1
stateChanged( ), 1
- Statement, 1
 -  mission, 1
 
- static, 1
 -  and final, 1
 block, 1
 clause, 1
 construction clause, 1
 data initialization, 1
 final static primitives, 1
 initialization, 1
 inner classes, 1
 keyword, 1
 method, 1
 synchronized static, 1 
- STL
 -  C++, 1
 
- stop( )
 -  and deadlocks, 1
 deprecation in Java 2, 1 
stored procedures in SQL, 1
stream, I/O, 1
stream-based sockets, 1
StreamTokenizer, 1, 2, 3, 4
- String
 -  automatic type conversion, 1
 class methods, 1
 concatenation with operator +, 1
 immutability, 1
 indexOf( ), 1, 2
 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
struts, in BoxLayout, 1
stub, RMI, 1
style of creating classes, 1
subobject, 1, 2
substitutability, in OOP, 1
- substitution
 -  principle, 1
 
subtraction, 1
- super, 1
 -  and finalize( ), 1
 and inner classes, 1 
super keyword, 1
super.clone( ), 1, 2, 3
superclass, 1
- suspend( ), 1, 2
 -  and deadlocks, 1
 deprecation in Java 2, 1 
Swing, 1
Swing component examples, 1
Swing components, using HTML with, 1
Swing event model, 1, 2
switch keyword, 1
- synchronized, 1, 2
 -  and inheritance, 1
 and wait( ) & notify( ), 1
 containers, 1
 deciding what methods to synchronize, 1
 efficiency, 1
 method, and blocking, 1
 static, 1
 synchronized block, 1 
system clipboard, 1
system specification, 1
System.arraycopy( ), 1
System.err, 1, 2
System.gc( ), 1
System.in, 1, 2
System.out, 1
System.out.println( ), 1
System.runFinalization( ), 1
tabbed dialog, 1
table, 1
table-driven code, and anonymous inner classes, 1
TCP, Transmission Control Protocol, 1
TCP/IP, and RMI, 1
- template
 -  in C++, 1
 
termination vs. resumption, exception handling, 1
ternary operator, 1
- testing
 -  automated, 1
 Extreme Programming (XP), 1
 unit testing, 1 
testing techniques, 1
this keyword, 1
- Thread, 1, 2
 -  and JavaBeans, 1
 and Runnable, 1
 blocked, 1
 combined with main class, 1
 daemon threads, 1
 dead, 1
 deadlock, 1
 deciding what methods to synchronize, 1
 destroy( ), 1
 drawbacks, 1
 getPriority( ), 1
 I/O and threads, blocking, 1
 interrupt( ), 1
 isDaemon( ), 1
 new Thread, 1
 notify( ), 1
 notifyAll( ), 1
 order of execution of threads, 1
 priority, 1
 properly suspending & resuming, 1
 resume( ), 1, 2
 resume( ) , deprecation in Java 2, 1
 resume( ), and deadlocks, 1
 run( ), 1
 Runnable, 1
 Runnable interface, 1
 setDaemon( ), 1
 setPriority( ), 1
 sharing limited resources, 1
 sleep( ), 1, 2, 3
 start( ), 1
 states, 1
 stop( ) , deprecation in Java 2, 1
 stop( ), and deadlocks, 1
 stopping, 1
 suspend( ), 1, 2
 suspend( ) , deprecation in Java 2, 1
 suspend( ), and deadlocks, 1
 synchronized method and blocking, 1
 thread group, 1
 thread group, default priority, 1
 threads and efficiency, 1
 wait( ), 1, 2
 when they can be suspended, 1
 when to use threads, 1
 yield( ), 1 
throw keyword, 1
- Throwable, 1
 -  base class for Exception, 1
 
throwing an exception, 1
time-critical code sections, 1
toArray( ), 1
token, 1
Tokenizing, 1
Tomcat, standard servlet container, 1
tool tips, 1
TooManyListenersException, 1, 2
toString( ), 1, 2, 3, 4
- training, 1
 -  and mentoring, 1, 2
 
training seminars provided by Bruce Eckel, 1
Transferable, 1
transient keyword, 1
translation unit, 1
Transmission Control Protocol (TCP), 1
tree, 1
TreeMap, 1, 2, 3
TreeSet, 1, 2
true, 1
- try, 1, 2
 -  try block in exceptions, 1
 
two’s 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 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
UDP, User Datagram Protocol, 1
- UML, 1
 -  indicating composition, 1
 Unified Modeling Language, 1, 2 
- unary
 -  minus (-), 1
 operator, 1
 operators, 1
 plus (+), 1 
unbind( ), 1
- unicast, 1
 -  unicast events, 1
 
UnicastRemoteObject, 1
Unicode, 1
Unified Modeling Language (UML), 1, 2
unit testing, 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 
updates of the book, 1
URL, 1
- use case, 1
 -  iteration, 1
 scope, 1 
User Datagram Protocol (UDP), 1
- user interface, 1
 -  and threads, for responsiveness, 1
 responsive, with threading, 1 
- value
 -  preventing change at run-time, 1
 
value, HTML keyword, 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
 -  of change, 1
 
vector of change, 1
versioning, serialization, 1
versions of Java, 1
visibility, package visibility, (friendly), 1
- visual
 -  programming, 1
 
Visual Basic, Microsoft, 1
visual programming environments, 1
wait( ), 1, 2
Waldrop, M. Mitchell, 1
- weak
 -  weakly typed language, 1
 
WeakHashMap, 1
WeakReference, 1
- Web
 -  displaying a Web page from within an applet, 1
 placing an applet inside a Web page, 1
 safety, and applet restrictions, 1 
web of objects, 1, 2
West, BorderLayout, 1
while, 1
widening conversion, 1
wild-card, 1
WindowAdapter, 1
windowClosing( ), 1, 2
windowed applications, 1
Windows Explorer, running Java programs from, 1
wrapper, dealing with the immutability of primitive wrapper classes, 1
write( ), 1
writeBytes( ), 1
writeChars( ), 1
writeDouble( ), 1
writeExternal( ), 1
- writeObject( ), 1
 -  with Serializable, 1
 
Writer, 1, 2, 3, 4, 5
XOR, 1
XP, Extreme Programming, 1
yield( ), 1
zero extension, 1
ZipEntry, 1
ZipInputStream, 1
ZipOutputStream, 1
- [ ]
 -  indexing operator [ ], 1
 
^, 1
^=, 1
|, 1
|=, 1
||, 1