The magazine of the Melbourne PC User Group

Java Desktop References

Major Keary

O'Reilly's Nutshell series is quite famous for the high standard of documentation these books contain. They are concise, comprehensive, and very well organised with well crafted indexes, detailed tables of contents, thumb indexes, and good illustrations. The physical design is also of a high order: lay-flat binding, and a small footprint that makes these books easy to keep close at hand. O'Reilly is a leading publisher of books on Java, so it is not surprising to see four Java Nutshell titles that represent the most comprehensive in-print compilation of Java reference documentation.

Java in a Nutshell

Java in a Nutshell, now in its fourth edition, is designed for all Java programmers. It is not a guide for novices, or a tutorial on how to use Java. In keeping with the Nutshell format this is a reference designed to deliver comprehensive documentation concisely; it relies on direct language that assumes the reader is experienced in Java programming.

The book is in two parts: Introducing Java, and API Quick Reference. The first part provides description of the language and then discusses in detail Java syntax; object-oriented programming in Java; the Java platform; security; JavaBeans; Java programming and documentation conventions; and development tools.

The Java Platform chapter covers classes, a commonly encountered term in object-oriented programming. As Java is an object-oriented programming language 'classes' are fundamental to it, and are grouped in 'packages'. The introductory part of the book explains how a 'class' is defined, and the 'platform' chapter discusses what the key packages do and how they are implemented.

The group of chapters in Part I provide a thorough discussion of each topic with illustrative sample code.

The main part (about two thirds) of the book is taken up by Part II, API Quick Reference. An introductory chapter of eight pages explains how to use the reference, which indicates just how dense its contents are. Each entry follows a fixed format, which is illustrated in the accompanying image. Some of the entries are a few pages long, while others are as short as ten lines. At the top is the class name (DataOutputStream), and just below that is the package name (java.io); at the top right corner is the earliest version of Java in which the class is available (Java 1.0); then follows a description (some of these are quite extensive); below that is a 'hierarchy' diagram; then follows the most important part, a synopsis.

The APIs are grouped in sixteen chapters, such as java.beans, java.io, and java.security and subpackages.

A final chapter is a Class, Method, and Field Index, which enable the reader to look up a class or interface and find its package. One can also lookup a method or field to find the class in which it is defined.

A very thorough coverage that is further supported by three other specialised references: Java Enterprise in a Nutshell, Java Foundation Classes in a Nutshell, and J2ME in a Nutshell.
David Flanagan: Java in a Nutshell 4/e
ISBN 0-596-00283-1
Published by O'Reilly, 
969 pp., RRP $105.00 incl. GST

J2ME in a Nutshell

What, one might ask, is J2ME? It stands for Java 2 Micro Edition, which is "a new family of specifications from Sun Microsystems that defines compact versions of the standard Java 2 platform". In short, it's a cut-down version that can be used to develop Java applications "for resource-constrained devices such as cell phones, PDAs, two-way pagers, and set-top boxes" as well as wireless networking.

With it comes a regiment of terms, acronyms, and abbreviations such as MIDP, MIDlet, RMS, CDC, CLDC, and KVM.

MIDP is Mobile Information Device Profile; MIDlet is a Java application that runs on an MIDP device; RMS is a Record Management System (not to be confused with RMI, which is Remote Method Invocation); CDC is a Connected Device Configuration; CLDC is a Connected Limited Device Configuration, and KVM is a Kilobyte Virtual Machine.

J2ME in a Nutshell is a desktop quick reference designed for Java programmers who have a need to write applications for resource-deprived devices such as mobile phones. This is not a book for novices who want to learn J2ME; they may be better served by documentation found at http://java.sun.com/j2me, or the all-things-Java site, http://java.sun.com.

The book is in two parts: an introduction to the J2ME API, and an API Quick Reference. It is organised for quick look-ups; the well indexed information is presented in concise form, and made even easier to find with a detailed table of contents. If you know Java and need to develop J2ME applications, this is an essential resource.

Kim Topley: J2ME in a Nutshell
ISBN 0-596-00253-X
Published by O'Reilly, 
450 pp., RRP $79.95 incl. GST

Java Enterprise

Another important part of the Java-Nutshell series is Java Enterprise in a Nutshell, now in its second edition. O'Reilly keeps abreast of new developments, in this instance J2EE Version 1.3, and doesn't leave readers wondering what some abbreviation stands for. Very early in the introduction those of us who haven't caught up with J2EE are told that it stands for Java 2 Platform Enterprise Edition (my guess is that J2PEE was not used because it might divert one's attention to other possible interpretations).

The next question is, what is enterprise computing? It is, we are told, "simply a synonym for distributed computing: computation done by groups of programs interacting over a network". Distributed applications are not the sole province of big business, government, universities, or any other large enterprise. Small organisations can utilise the Internet and network systems in order to take advantage of distributed computing.

It is not surprising that a host of abbreviations and acronyms has sprung up around enterprise computing. JDBC (Java Database Connectivity), RMI (Remote Method Invocation), CORBA (Common Object Request Broker), IDL (Interface Definition Language), JNDI (Java Naming and Directory Interface), and JAXP (Java API for XML Parsing) are just some of them. This text describes them all and explains their respective parts in the scheme of Java Enterprise.

The book is in three parts, the main one (which takes up half the book) being an API Quick Reference and which takes the same format as described above (Java in a Nutshell). This reference differs from the others in that the first part, Introducing the Java Enterprise APIs, is more extensive than the equivalent introductions in the other titles. The information is well presented in a tutorial style that explains what each of the enterprise APIs does, architecture, and how they are used. The second part, Enterprise Reference focuses on two technologies, SQL and IDL, and relevant tools.

The focus of this title is on distributed applications and gathers together all the API information required by programmers.

Farley, Crawford, and Flanagan: 
Java Enterprise in a Nutshell 2/e
ISBN 0-596-00152-5
Published by O'Reilly, 
971 pp., RRP $105.00 incl. GST

The fourth title is Java Foundation Classes in a Nutshell. Apart from this group there are many titles in the O'Reilly Java series.

Reprinted from the September 2002 issue of PC Update, the magazine of Melbourne PC User Group, Australia

[ About Melbourne PC User Group ]