Preface
Part I: Core java APIs
Chapter 1 -- Java Basics
Hello World
FizzBuzz
The Fibonacci Series
Using Command-Line Arguments
Echo in Reverse
FizzBuzz Switched
Computing Factorials
Recursive Factorials
Caching Factorials
Computing Big Factorials
Handling Exceptions
Interactive Input
Using a StringBuffer
Sorting Numbers
Computing Primes
Exercises
Chapter 2 -- Objects, Classes, and Interfaces
A Rectangle Class
Testing the Rect Class
A Rect Subclass
Another Subclass
Complex Numbers
Computing Pseudo-Random Numbers
Computing Statistics
A Linked List Class
Advanced Sorting
Exercises
Chapter 3 -- Input/Output
Files and Streams
Working with Files
Copying File Contents
Reading and Displaying Text Files
Listing Directory and File Information
Compressing Files and Directories
Filtering Character Streams
Filtering Lines of Text
A Custom HTML Output Stream
Exercises
Chapter 4 -- Threads
Thread Basics
Threads and Thread Groups
Deadlock
Timers
Exercises
Chapter 5 -- Networking
Downloading the Contents of a URL
Using a URLConnection
Sending Email Through a URLConnection
Connecting to a Web Server
A Simple Web Server
A Proxy Server
Networking with Applets
A Generic Client
A Generic Multithreaded Server
A Multithreaded Proxy Server
Sending Datagrams
Receiving Datagrams
Exercises
Chapter 6 -- Security and Cryptography
Running Untrusted Code
Loading Untrusted Code
Message Digests and Digital Signatures
Cryptography
Exercises
Chapter 7 -- Internationalization
A Word About Locales
Unicode
Character Encodings
Handling Local Customs
Localizing User-Visible Messages
Formatted Messages
Exercises
Chapter 8 -- Reflection
Obtaining Class and Member Information
Invoking a Named Method
Exercises
Chapter 9 -- Object Serialization
Simple Serialization
Custom Serialization
Externalizable Classes
Serialization and Class Versioning
Serialized Applets
Exercises
Part II: Graphics and GUIs
Chapter 10 -- Graphical User Interfaces
Components
Containers
Layout Management
Event Handling
A Complete GUI
Actions and Reflection
Custom Dialogs
Displaying Tables
Displaying Trees
A Simple Web Browser
Describing GUIs with Properties
Themes and the Metal Look-and-Feel
Custom Components
Exercises
Chapter 11 -- Graphics
Graphics Before Java 1.2
The Java 2D API
Drawing and Filling Shapes
Transforms
Line Styles with BasicStroke
Stroking Lines
Filling Shapes with Paint
Antialiasing
Combining Colors with AlphaComposite
Image Processing
A Custom Shape
Custom Strokes
Custom Paint
Advanced Animation
Displaying Graphics Examples
Exercises
Chapter 12 -- Printing
Printing with the Java 1.1 API
Printing with the Java 1.2 API
Printing Multipage Text Documents
Printing Swing Documents
Exercises
Chapter 13 -- Data Transfer
Data Transfer Architecture
Simple Copy-and-Paste
A Transferable Data Type
Cutting and Pasting Scribbles
Dragging and Dropping Scribbles
Exercises
Chapter 14 -- JavaBeans
Bean Basics
A Simple Bean
A More Complex Bean
Custom Events
Specifying Bean Information
Defining a Simple Property Editor
Defining a Complex Property Editor
Defining a Bean Customizer
Exercises
Chapter 15 -- Applets
Introduction to Applets
A First Applet
A Clock Applet
Applets and the Java 1.0 Event Model
Java 1.0 Event Details
Reading Applet Parameters
Images and Sounds
JAR Files
Exercises
Part III: Enterprise Java
Chapter 16 -- Remote Method Invocation
Remote Banking
A Bank Server
A Multiuser Domain
Remote MUD Interfaces
The MUD Server
The MudPlace Class
The MudPerson Class
A MUD Client
Advanced RMI
Exercises
Chapter 17 -- Database Access with SQL
Accessing a Database
Using Database Metadata
Building a Database
Using the API Database
Atomic Transactions
Exercises
Chapter 18 -- Servlets and JSP
Servlet Setup
A Hello World Servlet
Servlet Initialization and Persistence: A Counter Servlet
Database Access with Servlets
A Login Screen with JSP
Request Forwarding
JSP Pages and JavaBeans
Ending a User Session
Custom Tags
Deploying a Web Application
Exercises
Chapter 19 -- XML
Parsing with JAXP and SAX 1
Parsing with SAX 2
Parsing and Manipulating with JAXP and DOM
Traversing a DOM Tree
Traversing a Document with DOM Level 2
The JDOM API
Exercises
Chapter 20 -- Example Index
Index