Potentially Valuable but Not Really What's Advertised

Sporadic coverage, sometimes shallow, sometimes superfluous, fails to deliver on promises.


Its hard to assess a book like this, given its clear directive and lack of real focus. "Java 1.2 Class Libraries" includes the basics you might expect, covering math, applets, the JFC, I/O, networking and security issues. But someone decided that Microsoft’s AFC and SDK 3.0 somehow fits into this mix. I have no fundamental problem with the SDK, but it is neither Java 1.2 nor related to the JDK in any way I can conceive of. There’s also coverage of Java-based agents which has no direct relationship to the Java 1.2 class libraries. These are interesting topics, but they seemed to be a little out of place under this heading. In any case, the book is useful for many other reasons, which we’ll explore briefly in this review. You’ll have to make your own decisions based on what the book really presents.

Some of the chapters in this book address obvious topics like Applets, Math handling, I/O, Networking, Utility classes and Java security. The coverage seems to start out rather well, with examples provided for each of the static Math methods, for example, but later chapters seem a little more sporadic about the presence of examples. Overall, the details are comprehensive and the examples are sufficiently useful to anyone trying to understand how to use a given class or method. From the point of view of a reference book, these chapters are well explored.

Chapter 3 covers the JFC (Java Foundation Classes) fairly well and represents a small book in sheer volume. I found the JMF (Java Media Framework) and JMAPI (Java Management API) coverage unsatisfactory. These chapters offer a small taste of what these APIs represent but present too little practical information to be useful. The Java Directory Service and LDAP 3.0 chapter was similar as is the coverage of Java Transactions in a chapter labeled "JavaBeans and Java Transactions". This later chapter addresses JavaBeans well enough but fails to deliver what it promises, something that seems to be a running theme in this book.

While out of place, I found the chapter dealing with the Microsoft SDK interesting. The Agent coverage touched on a couple of frameworks I was unfamiliar with, so I learned something new. I was rather surprised, however, at the lack of attention to the two most widely used Agent frameworks, IBM’s Aglets and ObjectSpace’s Voyager. These shortcomings are indicative of shallow research, which made me feel like asking how much of the information was verified. This books delivers over 1200 pages of loosely correlated information under an inaccurate title. Its difficult to avoid drawing the obvious conclusion.

This is a book that packs some value into unexpected places. It fails to deliver on a promise to cover the Java 1.2 Class Libraries. There are numerous packages which receive no coverage. JDK 1.2 ships with CORBA classes, for example, and these are never mentioned. Of the extended API’s those addressed offer coverage that is too shallow to be useful, and many extended libraries, such as the 3D API are never touched. If you feel compelled to buy this book, make sure its because you want to read about something it truly includes and not material it completely fails to deliver. The volume of information is considerable, so there’s useful material in these pages. Not necessarily what you’re expecting, however.