This book is organized roughly as follows:
Chapters 1 and 2 provide a basic introduction to Java concepts and a tutorial to give you a jump start on Java programming.
Chapter 3 discusses fundamental tools for developing with Java (the compiler, the interpreter, and the JAR file package).
Chapters 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.
Chapter 8 covers generics and parameterized types in Java.
Chapter 9 covers the language's built-in thread facilities and the Java Concurrency package, which should be of particular interest to advanced programmers.
Chapter 10 covers text processing, formatting, scanning, string utilities, and the powerful regular expressions API.
Chapter 11 covers much of the core API including utilities and collections.
Chapter 12 covers Java I/O, streams, files, and the NIO package.
Chapters 13 and 14 cover Java networking, including sockets and NIO, URLs, and RMI.
Chapter 15 covers web applications using servlets, servlet filters, and WAR files, as well as web services.
Chapters 16 through 21 cover GUI development with the Abstract Window Toolkit (AWT) and Swing, which provide graphical user interface (GUI) and image support.
Chapter 22 covers the JavaBeans? component architecture and introduces the NetBeans IDE.
Chapter 23 covers applets, the Java Plug-In, and JAR signing.
Chapter 24 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 book.
Appendix B describes BeanShell, a lightweight scripting language for Java that I developed.
If you're like us, you don't read books 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 Chapter 2. If that doesn't float your boat, you should at least look at the information in Chapter 3, 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.
Chapters 12 through 15 are essential if you are interested in writing advanced networked or web-based applications. This is one of the more interesting and important parts of Java.
Chapters 16 though 22 discuss Java's graphics features and component architecture. You should read this if you are interested in writing graphical Java applications or applets.
Chapter 23 covers the Applet API, including the Java plug-in for guaranteed browser compatibility and signed applets for advanced applications.
Chapter 24 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 CD-ROM provides all you need to start working with Java immediately (view CD content online at http://examples.oreilly.com/learnjava3/CD-ROM/). In addition to the full source code for all examples in the book, the CD contains the following software:
Java 5 Standard Edition (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