Using this tutorial

This tutorial is organized roughly as follows:

  • s 1 and 2 provide a basic introduction to Java concepts and a tutorial to give you a jump start on Java programming.
  • discusses fundamental tools for developing with Java (the compiler, the interpreter, and the JAR file package).
  • s 4 through 7 describe the Java language itself, beginning with the basic syntax and then covering classes and objects, exceptions, arrays, enumerations, annotations, and much more.
  • covers generics and parameterized types in Java.
  • covers the language's built-in thread facilities and the Java Concurrency package, which should be of particular interest to advanced programmers.
  • covers text processing, formatting, scanning, string utilities, and the powerful regular expressions API.
  • covers much of the core API including utilities and collections.
  • covers Java I/O, streams, files, and the NIO package.
  • s 13 and 14 cover Java networking, including sockets and NIO, URLs, and RMI.
  • covers web apps using servlets, servlet filters, and WAR files, as well as web services.
  • s 16 through 21 cover GUI development with the Abstract Window Toolkit (AWT) and Swing, which provide graphical user interface (GUI) and image support.
  • covers the JavaBeans? component architecture and introduces the NetBeans IDE.
  • covers applets, the Java Plug-In, and JAR signing.
  • covers the Java APIs for working with XML and XSLT, including XML Schema, validation, XPath, and XInclude, as well as XML binding with JAXB.
  • Appendix A covers using the Eclipse IDE with the examples in this tutorial.
  • Appendix B describes BeanShell, a lightweight scripting language for Java that I developed.

If you're like us, you don't read tutorials from front to back. If you're really like us, you usually don't read the Preface at all. However, on the off chance that you will see this in time, here are a few suggestions:

  • If you are an experienced programmer who has to learn Java in the next five minutes, you are probably looking for the examples. You might want to start by glancing at the tutorial in . If that doesn't float your boat, you should at least look at the information in , which explains how to use the compiler and interpreter, or Appendix A, which shows how to run the examples in the Eclipse IDE. This should get you started.
  • s 12 through 15 are essential if you are interested in writing advanced networked or web-based apps. This is one of the more interesting and important parts of Java.
  • s 16 though 22 discuss Java's graphics features and component architecture. You should read this if you are interested in writing graphical Java apps or applets.
  • covers the Applet API, including the Java plug-in for guaranteed browser compatibility and signed applets for advanced apps.
  • covers the Java APIs for working with XML, including SAX, DOM, DTDs, XML Schema, and using XSL to render output for the Web. XML technology is becoming key to cross-platform development. Read this chapter!

On the CD-ROM

The accompanying DVD provides all you need to start working with Java immediately (view CD content online at In addition to the full source code for all examples in the tutorial, the CD contains the following software:

  • Java 5 Standard version (also known as JDK 1.5)
  • NetBeans (Version 4.1), a visual IDE for working with JavaBeans
  • Eclipse (Version 3.1), one of the most popular Java IDEs
  • Ant (Version 1.4.1), a universal Java build system from the Apache Project
  • Tomcat (Version 4.0.3), a Java servlet and web services container from the Jakarta Project
  • BeanShell (Version 2.0), a simple Java scripting language