Selected Tips

Langage
Using Class Methods and Variables
Using java.lang.Class
Overload Resolution
Goto Statements and Java Programming
Narrowing and Widening Conversions
Using Import Declarations
Default Constructors (jdk 1.1)
True/False Random Values with NextBoolean,
Command Dispatching
Global Variables
Division by Zero

Arrays
Manipulating Java arrays
Sorting Arrays
Collators
String and String Buffer,

Parsing Input
Using BreakIterator to Parse Text
Extracting Links from an HTML File
String Tokenizing 2
String Tokenizing 1

Java IO
Formatting Decimal Numbers
Formatting BigDecimal Numbers
Big Decimal
Release — Java 2

Java I/O redirection
Random Access for Files
Capturing Standard Output in a Log
Converting Pathnames to URLs
Unpacking Zip Files
Walking across File Systems
Temporary Files and

Threads
Why Use Threads?
Using Synchronized Blocks
Minimizing the Overhead
Synchronized Statements

Systems programming
How Bootstrap Classes are Found
Invoking Programs from Java Applications
Package Version Identification (Java 2)
Reference Objects (Java 2)
Jar File Manifests (Java 2)
JAR Files Reflection (Introspection)

Java Tools & JVM
Analyzing Bytecode & "javap"
Javap and .class Files,
Security
Using SecurityManager
Policies and the Policy File

XML
XML Introduction

Serialization
Serialization in the Real World
Serialization and Class Versioning
Serialization
Release — JDK 1.1

Collections
August 9, 1999
Using List Collections Efficiently
Release — Java 2
Using the new Vector Collection
Collections and Hashtable, and

Strings
StringBuffer Editing
Interning Strings (Java 2)