O'Reilly School of Technology
Java Programming 2: The Java Programming Language