The Barnes & Noble Review
The Gartner Group estimates that well over 90 percent of all midsize to large application development organizations will be using Java technologies through at least the year 2005. They’d be focusing even more heavily on Java, but for one thing: not enough skilled Java developers.
Does this sound like an opportunity? It should.
If you haven’t learned Java yet -- or if you’ve given it a once-over-lightly but haven’t dived deeply enough to even mention it in your résumé -- seclude yourself with a copy of Learning Java, Second Edition. This polished O’Reilly title covers everything you need to start building significant applications with Java 2 Version 1.4.x.
Learning Java, Second Edition is actually in its fourth iteration: the first two were published under the title Exploring Java. Which means there’s been more time to shake out the inevitable errors, and refine the book’s enormous number of code examples.
With each iteration, however, the authors have done far more than fix errors and add new features (though plenty of new features are covered in this edition -- we’ll get to that.) They’ve also revisited the entire book, reflecting new approaches they’ve learned through experience (and abandoning older coverage that no longer seems relevant, such as client-side applet development).
Patrick Niemeyer and Jonathan Knudsen begin with an up-to-date discussion of both the original rationale for Java and how things are actually working out, several years on. You’ll learn how Java fits into the language bestiary; how Java seeks to protect you from shooting yourself in the foot (or allowing others to do it); and how Java has evolved.
Next, Niemeyer and Knudsen help you get your feet wet with some working code. They start with "Hello World" but iterate it three more times, giving you a first taste of a surprisingly wide range of features (from garbage collection and inheritance all the way to threads).
Once all this is under your belt, Niemeyer and Knudsen introduce Sun’s Java interpreter and compiler; and systematically introduce the framework of the Java language and many of its most important facilities (including useful new capabilities such as language assertions and exception chaining.
Next, they present a “crash course” in Java object-oriented development. If you’ve used C++, you’ll be reasonably at home here. (Though, as the authors note, it’s easy to overestimate the similarities with C++ -- they view Smalltalk a closer relative). If your experience tends more to VB, COBOL, or other largely non-object-oriented languages, you’ll find this coverage invaluable. Before moving on to Java’s API classes, Niemeyer and Knudsen demystify multithreading, helping programmers avoid the pitfalls that tend to make threading more complex and error prone than it needs to be.
The remainder of the book focuses on the Java classes you’re likely to encounter most often in day-to-day development. Some, like java.io, have been around for awhile; others, like java.nio (New I/O) are new to 1.4. While NIO was primarily designed to address issues of scalability in large systems, it contains several goodies you’ll want to know about even if you’re building only small applications.
Learning Java, Second Edition also introduces Java’s great new support for regular expressions; the new Preferences API, which simplifies the management of user and system configuration data; and the new Logging API for capturing information about security failures, configuration errors, performance bottlenecks, and application bugs.
The book includes extensive coverage (much of it new) of server-side development and web services. Among the topics covered: the latest version of the Java Servlet API (2.3); SAX, DOM, DTDs, XSL/XSLT, and the new JavaBeans XMLEncoder.
The accompanying CD-ROM contains all source code, plus a complete Java software library. There’s Sun’s Java SDK 1.4, of course, but also NetBeans 3.3.1, a powerful open source IDE for building Java (and other) software; Ant, Apache’s handy Java-based build tool (think “make” without the hassles); the proven Apache Tomcat server engine; and BeanShell, a lightweight Java source interpreter for quick Java-based scripting.
If you want to master Java, Learning Java, Second Edition will give you a running start -- and powerful momentum.
Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.