Java I/O JavaBeans Java Secrets Java Network Programming The Java Developer's Resource

Java Book List

Here are some books currently in print and soon anticipated about Java. All books that are in print and which I've had an opportunity to review get one of three ratings:
Buy It
An essential book for any Java programmer.
Browse It
This book may be useful for some people. Skim through it in your local bookstore to see if you like it before laying out your cash.
Recycle It
Toss it in the recycling bin. ("Burn it" would have been more alliterative here, but I have a general aversion to advocating book burning, even in jest. I also considered "bag it" and "barf on it" at which point I decided alliteration wasn't that important.).
Note that these ratings are mutable depending on the competition and the comparison between the book and the current release of Java. Generally a book's rating will go down over time except when a new edition is released. For instance Java! by Tim Ritchey was a Buy It in August, 1995, a Browse It after the beta Java was released in November 1995, and was relegated to Recycle It status when Laura Lemay's book became available in January, 1996. Then the second edition came out, and the rating got raised back to Browse It.

My Favorite Java Books

I doubt it will surprise anyone that the books I like best are the ones I wrote. Since I can't make any pretense to objectivity about these, you'll have to make your own decisions about whether these are Browse It's, Buy It's, or Recycle It's.

Java I/O

Java's input and output libraries have been unfairly maligned for some time. It is widely (but incorrectly) believed that I/O in Java is a lot weaker and a lot harder than I/O in traditional languages like C, C++, and Pascal. If anything, however, the exact opposite is true. Java's I/O tools are far more sophisticated, more powerful, and easier to use than traditional printf()/scanf() style I/O.

Java's input and output (I/O) is based on streams. Streams are a convenient metaphor for reading and writing data regardless of whether that data comes from a file, a network connection, the console, another thread, or some other source. Furthermore streams can be filtered to perform encryption, serialization, compression, translation, and other services.

Java I/O tells you all you need to know about the four main categories of streams and uncovers less known features to help make your I/O operations more efficient. Plus, it shows you how to control number formatting, use characters aside from the standard ASCII character set, and get a head start on writing truly multilingual software.

Here are just a few of the topics covered in depth in Java I/O:

And that's really just the beginning of what you'll learn from Java I/O. I'm really happy with this book. In fact it's perhaps the first book I've written that I really feel reached its full potential. I do hope you'll check it out. It's available from amazon.com, FatBrain, and other purveyors of fine computer books. If you need to special order it, the ISBN number is 1-56592-485-1. It's $32.95, 596 pages, published by O'Reilly, and written by me, Elliotte Rusty Harold.

JavaBeans: Developing Component Software in Java

JavaBeans cover My latest Java book, JavaBeans: Developing Component Software in Java, is the first book in IDG's new Power Guide series. After reading this book I hope you'll agree with me that beans are the wave of the future, and that they make Java programming easier, more productive, and more fun.

When I was finishing up my last book, Java Secrets, John Osborn, one of my editors at IDG, asked me what I thought would make a solid book for IDG's new professional series. "Beans! Let me write about beans!" I practically shouted. It was obvious, even then, that JavaBeans were going to be hot, and that this is where Java was moving. It's four months later; I know a lot more now about JavaBeans than I did then, and I'm more convinced than ever that JavaBeans is going to be an essential part of the future of Java, and indeed of the broader software development world. This book is your introduction to the exciting and fast-growing world of JavaBeans. With this book you'll learn how to write your own unique beans that can be loaded into builder tools to quickly produce powerful and customized applications.

JavaBeans: Developing Component Software in Java is 355 pages, $39.95, and includes a CD with the JDK and the BDK (Beans Development Kit) as well as an assortment of beans and builder tools. It's now in stock at Amazon, FatBrain, and better bookstores everywhere. I've posted the preface, examples, table of contents, and some other material here on Cafe au Lait. Why don't you check out JavaBeans and let me know what you think?


Java Secrets

Java Secrets cover Java Secrets delves into the parts of Java that are not documented by Sun, that are not generally accessible to anyone with a web browser, and that are not already in a hundred other books. Part One explores the internals of the Java virtual machine including byte code, thread models, garbage collection algorithms, class loaders, security managers, and more. It teaches you how to disassemble and decompile .class files so you too can learn things nobody wanted you to know. Part Two delves into the sun classes, a group of undocumented packages that add considerable power to Java programs. Part Three explores the possibilities opened by platform dependent code. It shows you how to call the native API and how to create stand-alone executable programs. Finally, the CD includes an assortment of Java hacking tools including a full version of the payware Java decompiler WingDIS 2.0.3.

This is one of the most interesting and exciting projects I've worked on in a long time. The sheer number of "Aha!" experiences I had while researching and writing this book was phenomenal. I hope you'll get the same feeling while reading it. Java Secrets, is now available at amazon.com and in bookstores everywhere. Why don't you check it out and let me know what you think?


Java Network Programming

Cover of Java Network Programming My second book, Java Network Programming, is now available from O'Reilly & Associates. Most of what is new and exciting about Java centers around the potential for new kinds of dynamic, networked applications, and Java Network Programming shows you how to write them. This book combines a general introduction to application layer network programming with complete coverage of Java's networking classes. No prior experience with network programming is assumed. Among other topics you'll learn about sockets, server sockets, UDP and TCP traffic, Internet addresses, URLs, HTTP, HTML, protocol handlers, content handlers, multicast sockets, and how all of these are handled in Java.

Manning Publications has also recently published a book titled Java Network Programming. It's not a bad book, and is surprisingly orthogonal to mine. About 2/3 of that book is streams and encryption which I only touch on. My book covers servlets, applets, multicast sockets, and Java 1.1 which that book doesn't discuss in any depth. The matching titles appear to be just unlucky choices. Both publishers went with the most obvious title they could think of. However the cover of the Manning book has a big fish, and looks suspiciously like an O'Reilly book. Don't be fooled. The real O'Reilly book has either a gyroscope or a chameleon on the cover (two different covers, same book).

Java Network Programming is $34.95, ISBN number 1-56592-227-1, and is available now from any bookstore that stocks computer books including amazon.com and Computer Literacy.


The Java Developer's Resource

The cover of The Java Developer's Resource The Java Developer's Resource is my first book, and still in some ways my favorite. (You always remember your first one, after all.) The JDR is a comprehensive introduction to Java 1.0 for programmers. It covers the Java language from the ground up as well as the AWT including threads, layout managers, exceptions, event handling, data structures, input and output, and a lot more. I started writing this book when there weren't any good books on Java. In many ways this is the book I wish had been available a year ago when I was trying to learn Java.

Unfortunately the JDR is out of print. I am currently updating the book with everything that's happened and everything I've learned about Java in the last four years, and will release it online again soon. In the meantime, used copies are easily available from amazon.com and other sources of used books.


My Top Ten Favorite Java Books (that I didn't write)

A few months ago O'Reilly and Associates asked to list my top ten favorite Java books. At the time there weren't really ten I liked, but some better ones have come out since. Now, I think I can just manage to pick my favorite ten. In no particular order they are

The Java Handbook
by Patrick Naughton, Michael Morrison

This is the first Java book that gave me the feeling that the author actually understood and was comfortable with the material. This is probably because Naughton's been working with Java longer than almost anyone, having been part of the original Green Project. Whether it's explaining what a Factory is or why they're so many do-nothing methods in java.net.URLConnection, you believe he actually knows this stuff. By comparison everyone else seems to be learning as they go along. The epilogue about the genesis of Java is particularly unique and fascinating (though not always accurate. I can't imagine he really had a Newton to critique in 1991). After reading this you'll be amazed that Java really happened.

Concurrent Programming in Java: Design Principles and Patterns
by Doug Lea

Superseded by the second edition.

The Java Virtual Machine Specification
by Tim Lindholm, Frank Yellin, Bill Joy, Kathy Walrath

If you're doing anything with the virtual machine, or if you just want to know what's going on behind the scenes, then you need this book.

Java in a Nutshell: A Desktop Quick Reference for Java Programmers
by David Flanagan

An excellent introduction to Java for C programmers, an excellent reference for everyone, and a bargain at $19.95.

The Java AWT Reference
by John Zukowski

This large gem of a book is often overlooked in favor of the second volume of the The Java Class Libraries: An Annotated Reference. However in many respects I think this is the superior book. While, Chan and Lee is more comprehensive and more likely to explain some particular obscure method, Zukowski does a much better job of showing you the broader picture of how the different parts of the AWT fit together and how they're properly used. For example, so far this is the only book I've read that correctly explains modal dialogs.

The Java Language Specification
by James Gosling , Bill Joy, Guy Steele

For experts only. This book is full of turgid paragraphs like:

The arguments in the argument list, if any, are used to select a constructor declared in the body of the named class type, using the same matching rules as for method invocations (15.11), a compile-time method matching error results if there is no unique constructor that is both applicable to the provided arguments and the most specific of all the applicable constructors.
(p. 314) I generally have to read something at least three times before I understand what is being said. However, the Java Language Specification is often the only place where you can find out why your code won't compile. You don't need this book often, and you certainly can't learn Java from it; but when you need it, you need it badly. Fortunately it's available online so I recommend you view it there, and only buy a copy if you find you make frequent recourse to it.

Thinking in Java
by Bruce Eckel

It's unusual for me to put in my Top Ten list before it's released, but this one deserves it. Thinking in Java is my favorite introduction to Java for experienced programmers. Eckel is an expert on object oriented programming, and this expertise shows in the book. Where most authors books treat classes and objects as extra features of a basically procedural language, Eckel sees them as the fundamental underpinnings of code design they really are. Unlike many other tutorials this isn't simply a port to a new language of the same Basic/Pascal/Fortran/C book the author's been writing and rewriting for the last twenty years. The complete text of Thinking in Java is available from http://64.78.49.204/.

Who's Afraid of Java?
by Steve Heller

This book is the best introduction yet to Java for non-programmers. It is very well-written and exceptionally easy-to-read. In fact it reads much like a novel or good non-fiction. This is probably due to the unusual way it was written, with constant feedback from a Java novice and almost complete programming novice (Heller's wife). Points that other books tend to gloss over but that confuse novices, Heller covers in detail, and in a surprisingly refreshing conversational fashion. In fact, email dialogs with his wife are scattered throughout the book. This sounds weird, but it really, really works. Even though I certainly know almost all the material covered here (essentially Java syntax basics with no AWT, networking, or applets) I still found it an amusing read. I often disagree with Heller's interpretations of tricky issues like whether using the + sign to concatenate strings violates some unspoken prohibition in Java against operator overloading. However, these are minor quibbles and in no way interfere with the high level of readability of this book.

The Java Programming Language, 2nd Edition
by Ken Arnold, James Gosling

If you like Kernighan and Ritchie, you'll like this book. It covers the Java language and most of the java.lang package with little to no discussion of the AWT. It also includes exercises to help you get started with Java, a feature sorely lacking in most other books.

Core Java 1.2: Volume 1 Fundamentals
by Gary Cornell, Cay Horstmann

For experienced programmers, this books covers both the fundamentals and the advanced tips and tricks of the experts. It provides coverage of all Java features and syntax as well as Visual Basic and C/C++ tips that compare and contrast features of Java to those languages. This book is very Windows specific. Macs are covered in an appendix. Unix and OS/2 are hardly mentioned.

The Java Class Libraries: An Annotated Reference
by Patrick Chan, Rosanna Lee

Other Java Books Currently in Print

These are the books that didn't make my top ten cut.

Teach Yourself Java 1.1 Programming in 24 Hours
by Rogers Cadenhead

A decent book introducing Java 1.1 programming to non-programmers. However it's quite basic, and coverage of the AWT is very limited. The CD includes JDK 1.1 for Solaris and Windows.

Java Now!
by Kris Jamsa

This book is the first good book about Java for people who want to learn to program but have never programmed before. In fact it might make a decent text for an "Intro to Programming" class. The chapters are clear, short and well-written. It would benefit from some exercises so new programmers can test their skills, but otherwise it's flawless and quite reasonably priced.

The Java Programming Language
by Ken Arnold, James Gosling

If you like Kernighan and Ritchie, you'll like this book. It covers the Java 1.0 language and most of the java.lang package with little to no discussion of the AWT. It also includes exercises to help you get started with Java, a feature sorely lacking in most other books.

Kickass Java Programming
by Tonny Espeset

This book describes how to do graphics that go beyond the normal AWT including 3D and VRML. It really puts the lie to Dimension X's claim that you have to use native methods to add VRML to Java. If you want to learn more about computer graphics than merely the different API calls, this is a great place to start.

Official Marimba Guide to Castanet
by Laura Lemay

Official Marimba Guide to Bongo
by Danny Goodman

Developing Enterprise Applications With Visual J++: Creating Networking, NT4, and Windows 95 Applications
by Michael A. Mitchell

JavaBeans for Dummies
by Emily Vanderveer

Inside the Java Virtual Machine
by Bill Venners

Inside Java
by Karanjit S. Siyan , James L. Weaver

Java Programming With Corba
by Andreas Vogel , Keith Duddy

After providing a brief overview of Java, CORBA, and Java ORBs, the book shows developers how to use them to build real Java applications.

Web Developer's Guide to JavaBeans
by Jalal Feghhi

Not Just Java
by Peter Van Der Linden

Special Edition Using Enterprise Java
by Jeff Schneider, Rajeev Arora

Teach Yourself Java Database Programming with JDBC in 21 Days
by Ashton Hobbs

The JDBC Developer's Resource: Database Programming on the Internet
by Art Taylor

This book teaches you how to use and the Java Programming language with relational databases. The CD-ROM contains Mojo, a rapid application development tool for Java, JDK 1.1, and JDBC/ODBC drivers from Visigenic.

The Comprehensive Guide to the JDBC SQL API
by Daniel I. Joshi, Ramesh Chandak, Rodney Runolfson

Advanced Java Networking
by Prashant Sridharan, Laraine Peterson, Bill Reiken

This book tries to cover too much too fast. For example a single chapter attempts to cover network basics, sockets, and UDP. Other chapters cover RMI, CORBA and IDL, JDBC, the Java Web Server and more. Each of these more than justifies a book of its own. This book provides extremely fast overviews of these and other topics, but most readers will want a more comprehensive and in-depth look at each of these.

Teach Yourself Java 1.1 in 21 Days
by Laura Lemay , Charles Perkins

Java Interactive Course
by Laura Lemay, Charles L. Perkins, Michael Morrison

Java Web Magic
by Joseph Sinclair, Lee Callister

A four-color book that shows webmasters how they can use Java on their pages without writing their own applets.

Just Java, 2nd Edition
by Peter van der Linden

This book provides an introduction to Java and object-oriented programming. Just Java covers all the basics and describes the elements of window and network programming in Java. As readers of his previous book, Expert C Programming: Deep C Secrets, will expect van der Linden enlivens the text and examples with good humor and interesting asides. So far this is the only Java book I've seen that was actually fun to read as opposed to merely informative. The CD-ROM contains the Java Development Kit 1.0 for Solaris, Win32 and the Mac. It also contains all the examples, code and applets from all the Sunsoft Press Java books, that is Core Java, Java by Example, Instant Java, and Just Java.

Java: How to Program with an Introduction to Visual J++
by Harvey M. Deitel, Paul J. Deitel

Practical Object-Oriented Development in C++ and Java
by Cay S. Horstmann

The Java Virtual Machine
by Troy Downing, Jon Meyer

This book is a comprehensive programming guide for the Java Virtual Machine (JVM). The book is divided into two sections: the first section includes information on the semantics and structure of the JVM; the second section is a reference of the JVM instructions, or "opcodes." This book is intended to give readers a strong overview and reference of the JVM so that they may create their own implementations of the JVM, or write their own compilers that create Java object code. The programming guide includes numerous examples written in Java assembly language. A Java assembler is provided with the book, so the examples can all be compiled and executed. The reference section is a complete description of the instruction set of the VM and the class file format, including a description of the byte-code verifier.

Designing Better Apps and Applets with Java
by Peter Coad , Mark Mayfield

I was really looking forward to this book. I think a book on object oriented design with Java as the central language is a natural. However, I regret to inform you that the authors' writing style is the dryest, most boring I have ever encountered. Even though I really needed to understand the material discussed here, I couldn't stomach more than about ten pages of this, and this from someone who reads advanced physics texts for fun!

Java Database Programming
by Brian Jepson

Mastering Java
by Laurence Vanhelsuwe, Andre Yee, Ivan Phillips, Goang-Tay Hsu

Contrary to the jacket copy, this book does not cover Java 1.1 in any significant way.

Jumping to Java: Fast Track for C and C++ Programmers
by Dan Parks Sydow

AWT Programming for Java
by Miles O'Neal, Tom Stewart

Industrial Strength Java
by Luke Cassady-Dorion, Shirani Maheshwari, Matthew Brumbaugh

Java Threads
by Scott Oaks , Henry Wong

This book shows you how to take advantage of Java's thread facilities: where to use threads to increase efficiency, how to use them effectively, and how to avoid common mistakes. It covers the Thread and ThreadGroup classes, the Runnable interface, and the language's synchronized operator, as well as problems like deadlock, race condition, and starvation.

Java Language Reference Manual, 1st Edition
by Mark Grand

This edition describes Version 1.0.2 of the Java language. It includes:

Client/Server Programming with JAVA and CORBA
by Robert Orfali, Dan Harkey

This book has stirred a lot of controversy among the distributed object community. The consensus seems to be that it does a good job with CORBA and IDL, but not so great with RMI and DCOM. However this particular community isn't one known for rational, unbiased, objective discussions in the first place so that's no great surprise. In any case, whether you love it or hate it you should read it.

Java Network Programming
by Merlin Hughes, Maria Winslow, Conrad Hughes, Michael Shoffner

The Way of Java
by Gary Entsminger

Java Developer's Guide
by Jamie Jaworski , Cary Jardin

This book has the best explanations I've seen yet of how to use the AWT, content and protocol handlers and more. The book is a little on the long and expensive side, the writing could do with some improvement, and some later chapters on Javascript could have been safely dropped. However it's technically impeccable, covers many details that are only touched on or ignored completely in other books, and is overall an incredibly useful book. The CD-ROM includes the usual selection of applets and source code as well as Sun's JDK 1.0.1 for the usual platforms.

Hacking Java
by Mark Wutka et al.

This is yet another uneven book written by multiple authors with no strong guiding hand to enforce stylistic consistency or technical correctness. Some chapters are good. Some are awful. Some are positively misleading. Chapter 12, Protecting Applet Code, is particularly bad. Overall it's clear this book isn't worth $59.95.

Java Security: Hostile Applets, Holes, & Antidotes
by Gary McGraw , Ed Felten

Can you believe that in 1996 some people are still promoting security through obscurity? Well, some people are; and the authors of this book are among them. Too many details are omitted to make independent judgements about the problems discussed in this book. I recommend you pass it by.

The Java Developer's Toolkit: Techniques and Technologies for World Wide Web Programmers
by Joshua Marketos

This Windows-only book has lightning quick treatment of topics. I understood it, but I doubt someone who didn't already know Java well would. And if you already understand Java, why spend your money on any book at all?

Java, The Complete Reference
by Patrick Naughton, Herbert Schildt

Java Developer's Reference
by Mike Cohn, Michael T. Nygard, Bryan Morgan, Michael Morrison , Tom Trinko, Dan Joshi

For a so-called reference work, the package reference chapters are uninspired, bare-bones listings, no better than the free javadoc documentation.

How to Program Java
by Peter Coffee

Peter Coffee tried to write a book that would be useful for people who wanted to learn Java but who had never programmed before. This is an immensely difficult task. I doubt programming is a skill most people can learn solely through a book. Therefore it shouldn't be surprising that he failed. Coffee covers too much, too fast. Advanced topics and tools like overflow, assembly language, binary arithmetic, and source code control systems are covered before readers get to write their first program. Furthermore, the book contains more than a few mistakes in code that an experienced programmers could probably identify and work-around, but which will completely stymie novices. Finally, and most annoyingly, Coffee's treatment is Windows specific. Macintosh and Unix users are completely ignored.

Developing Intranet Applications with Java
by Jerry Ablan, Rogers Cadenhead, Tim Evans, William Robert Stanek

This is a weak book that tries to combine two topics (designing Intranets and Java) that really deserve separate books. Coverage of individual topics is scant, and chapter after chapter I'm left wanting more. Furthermore, at least one auther has an annoying habit of playing fast and loose with the facts. It is not true that "Trillions of research dollars went into developing the Internet." (p. 4) Nor is it acceptable for a reference work to confuse the meaning of terms like class and object or member and instance variable.

Professional Java Fundamentals
by Shy Cohen, Larry Rodrigues, Andres Gonzalez, Tom Mitchell

The exceptionally small type is sometimes hard to read, but it does allow the authors to pack a lot of information into the 491 pages. This book is quite complete, but it does assume you know C.

Java and JavaScript Programming
by Peter Wayner

When are people going to learn? Java and JavaScript are two completely different languages. A book that covers both makes about as much sense as a tour guide that covers the Trump Taj Mahal in Atlantic City and the Taj Mahal in India.

Java Language API SuperBible: The Comprehensive Reference to the Java Programming Language
by Daniel Groner, Harish Prabanham, Todd Sundsted, Casey Hopson

Java in Plain English
by Brian Overland

If you were to judge this book by its cover, you'd be very wrong. Despite the title which indicates that this book is aimed at normal people, it's really a reference guide for experienced programmers in other languages. Furthermore, although the cover says this book covers Java 1.1, it in fact does no such thing.

Java Programming for the Internet: A Guide to Creating Dynamic, Interactive Internet Applications
by Donald Ball, Pratik Patel, Alan Hudson, Michael Thomas

Yet another Java tutorial. The primary distinguishing feature is several chapters that cover network programming and the java.net classes.

Learn Java Now
by Stephen R. Davis

Teach Yourself Java in 21 Days Professional Reference Edition
by Laura Lemay , Charles Perkins, Michael Morrison

This version of the best-selling Teach Yourself Java in 21 Days has seven more days (chapters) than the original edition, but they're not written by Laura Lemay; and, cover copy not withstanding, they don't cover Java 1.1. The claim that the book contains the "Latest version of Sun's JDK for Windows 95, Windows NT, and the Macintosh" is also false. Finally, despite the fact that this is the "Professional Reference Edition," this book is very much a tutorial and not a reference. In the final analysis this book is very much not worth $59.95.

Teach Yourself Sunsoft Java Workshop in 21 Days
by Laura Lemay , Charles Perkins, Rogers Cadenhead

This book covers developer release six of Java Workshop. The CD does not contain this software. Otherwise this book is very similar to Teach Yourself Java In 21 Days.

Talk Java To Me: The Interactive Click, Listen and Learn Guide to Java Programming
by Harry McIntosh, Lynnzy Orr (Narrator)

The Java Class Libraries: An Annotated Reference
by Patrick Chan , Rosanna Lee

This is a useful book that's gotten good reviews on Usenet. Examples are included that illustarte the use of most classes and methods in the Java 1.0.2 class library.

The Official Gamelan Java Directory
by Alex Chafee, Rebecca Tapley

Surprisingly interesting. This book provides much food for thought.

Fast Track to Java
by Lee Purcell

Live Java: Database to Delivery
by David Levine

Java How-To
by Madhu Siddalinghaiah , Steve Lockwood

Peter Norton's Guide to Java
by William Stanek

Java How To Program, 2nd Edition
by Harvey M. Deitel , Paul J. Deitel

This appears to be the first real Java text book, suitable for use in a college class as opposed to self-study.

The Java Tutorial: Object-Oriented Programming for the Internet
by Mary Campione, Kathy Walrath

This is the same tutorial available online at Javasoft. It's also avilable there in Postscript format. While this book is well written and easy to follow, it does suffer from trying to create a book from a hypertext document. It's clear that where the needs of hypertext and the needs of a paper book conflicted, the hypertext took precedence and that hypertext is where the authors hearts were. Therefore I suggest you read the copy on the web, and leave the book on store shelves.

The Java Application Programming Interface, Volume 1: Core Packages
by James Gosling , Frank Yellin, The Java team

Covers Java 1.0

The Java Application Programming Interface, Volume 2: Window Toolkit and Applets
by James Gosling , Frank Yellin, the Java team

These two books are paper copies of the same Java 1.0 API documentation available in HTML format from Sun. If you want a couple of nicely printed books with this info then these are probably worth your $50-$60. However if you find browsing the HTML online more convenient, as I do, then there's no reason to buy these two volumes.

Cafe Programming Frontrunner
by Anthony Potts, Joshua Kerievsky, David Friedel, John Rodley

The Java Applet Powerpack, Volume 1
by Robin Drake, Tad Ringo

This book contains nothing of significance you can't freely get from the web.

Teach Yourself Internet Game Programming with Java in 21 Days
by Michael Morrison

Java Networking and API SuperBible
by Nataraj Nagaratham , Arvind Srinivasan, Brian Maso

Tricks of the Java Programming Gurus
by Glenn Vanderburg, Michael Morrison

Learn Java on the Macintosh
by Barry Boone , Dave Mark

Advanced Java: Idioms, Styles, Programming Tips, and Pitfalls
by Chris Laffra

This book is very interesting. It has four sections, none of which are really addressed by other books:

  1. Idioms, Styles, Programming Tips, and Pitfalls
  2. The LTK (Little Toolkit), an AWT extension
  3. Visual Debugging
  4. C2J - translating C++ to Java

Java Quick Reference
by Michael Afergan

This book has a great deal of what with very little why or how. The API reference is not much more than a list of methods, arguments and return types. In most respects this is inferior to Sun's material that's freely available online.

Java API Reference
by Colin Frazier , Jill Bond

This reference to the java.applet and java.awt packages is notable primarily for its inclusion of code fragments demonstrating most methods. If the online documbentation is insufficient, this is a good place to look.

On To Java
by Patrick Henry Winston , Sundar Narasimhan

I found the structure a little distracting, but I can believe some people might like this approach.

Java with Borland C++
by Charles H. Pappas, William H. Murray

Learn Java by using the Borland C++ editor to type your code. My grandmother could think of better hooks than this one. Furthermore, In 1996, can you believe that when half the books on the market have CD's and most have Web sites, some people are still trying to pull the "Send us $25 for a disk of code" scam? Well, some people are; and the authors of this book are among them. Pass this book by.

Java By Example
by Clayton Walnum

Have there really been so many Java books that the titles need to be reused? In any case, the CD includes the complete text of Special Edition: Using Java in case this book isn't any good.

Foundations of Java - Programming for the World Wide Web
by Aaron E. Walsh

This book adheres to the philosophy of more is better, in particular more pages (over 900!) and more money ($45). Foundations of Java is quite well-written and has a friendly, first person, conversational tone; but the same material could certainly have been communicated in half the page count. The book begins with more than two hundred pages of fluff about the history of the Internet and Java propaganda everyone's heard a thousand times before. The rest of the book is filled with pointless digressions about topics like how a French press can improve your coffee. This book desperately needs a good editor to cut it down to a reasonable size. If you aren't really in a hurry to learn Java, then this book may be for you; but you can certainly learn Java more quickly with one of the other available texts. The CD-ROM includes the 1.0.1 JDK and the usual sample code.

Java Primer Plus
by Paul Tyma , Gabriel Torok, Troy Downing

This book is a guide for programming in Java, from learning the basics, to advanced features, and an API reference. It includes a CDROM containing all the sample code from the book. It's the first book I've seen that has a decent discussion of data structures in Java, perhaps reflecting the authors� academic background.

Writing Java Applets with CDROM
by John Rodley

This is a good book for people who are comfortable in C++ to learn Java. There's lots of discussion of advanced topics like exceptions, the AWT, class loaders and the like and limited discussion of the Java language syntax. It's also not bad as a second book for people who have mastered Java at the level of Teach Yourself Java in 21 Days.

Developing Professional Java Applets
by K. C. Hopson , Stephen E. Ingram

This is a good second book about Java. The first couple of chapters are a nice review of basic Java syntax (though insufficient to actually learn the language from). The remainder of the book covers fairly advanced topics like the AWT, Networking, and Images. The examples in these chapters are decidedly non-trivial. The discussion of Images and Image filters is the best I've seen anywhere. However the end of the book is brought down by a chapter on HotJava that is completely out of date (1.0 alpha 3!?). Hopefully this flaw will be corrected in future editions.

Teach Yourself Java in Cafe in 21 Days
by Dan Joshi, Charles Perkins, Laura Lemay

This book is an update to the bestselling Teach Yourself Java in 21 Days. This edition assumes you're usinc Symantec's Cafe IDE for Windows (but not the Mac). It adds some coverage of JDBC and the network classes to the original book, and removes the chapter on native methods. A few of the more egregious errors of the first edition have been corrected like the /, <= and >= signs. Finally the entire book has been rewritten to focus on Cafe. If you're using Cafe (though I certainly recommend against that), then this is a worthwhile book from which to learn Java.

Java Workshop Programming
by Steven Holzner

This is the first book to cover Sun's Java Workshop IDE, only in alpha 5 as of this writing. Given that state of development, this book is very premature. Java workshop hasn't matured or stabilized enough yet to be a useful tool, much less a product books can be written about it without being obsolete when they hit the shelves. This book manages to pull off the difficult feat of being simultaneously too simple and too adavanced. It begins with a 40 page review of HTML, and yet has almost nothing to say about basic Java syntakx like for loops. This book shows all the signs of being rushed to market prematurely. The source code has curly quotes; the diagrams are ASCII art, and the whole book is simply not very useful for anyone.

Making Sense of Java: A guide for managers and the rest of us
by Bruce Simpson, Jonathan Levine, John Mitchell, Rehan Zaidi , Brian Christeson

Not for programmers.

Exploring Java
by Pat Niemeyer, Joshua Peck

I had hoped Exploring Java would be the definitive introduction to Java from O'Reilly; but while it's certainly a good book, I fear it assumes too much of the reader. In particular, the book is aimed at people with a solid background in C or C++ programming and a much better than average understanding of how C relates to assembly. Exploring Java is definitely not for novices or even Visual Basic or Smalltalk programmers. In fact the authors go so far as to suggest that if you don't already know C, then you should learn it before learning Java. This was a common refrain in 1995, but I thought we'd moved beyond that. If you aren't a C expert, look elsewhere. It's not that a book at this level is necessarily bad. It's just that O'Reilly already published one such book, the bestselling Java in a Nutshell. I had hoped Exploring Java would be more different.

On the other hand if you are a C expert, or if you've mastered the basics of the Java language at the level of Gosling's The Java Programming Language, then this book is exceptionally well written. Niemeyer and Peck took their time on this book and it shows. Furthermore O'Reilly put about a thousand times more effort into this book than is common in the industry. The biniding is good and lays flat. The illustrations were redrawn by a professional illustrator rather than merely photostating the author's own crude drawings. In these and a dozen other ways, this looks and reads like a quality book. If only it didn't assume quite so much of the reader.

Java As An Object Oriented Language
by Mark Lorenz

That's not a typo. This pamphlet really does cost more than $2.00 a page. This "management briefing" compares C++, Smalltalk and Java. I haven't seen it yet, but unless it's printed in gold ink, I frankly can't imagine what there is in here that could be worth the price.

Java Animation
by Jay Burgess

Java Security
by Gary McGraw , Edward Felten

Cafe Companion
by

Cafe Companion is an exercise based tutorial on Java and Symantec Cafe for Windows 95 and NT (but not the Mac). Cafe Companion is only available through Symantec. It is not in bookstores.

Instant Java Applets
by Owen Davis , Tom McGinn, Amit Bhatiani

This book has three parts. The first is an introduction to Java programming that's too short and quick to be of any real use to anyone. The second part contains several well-commented examples. Particularly interesting are the marginal notes commenting on the code. It's as if someone marked all over the code with pen on paper, and it really helps. I've never seen anything like it before in a programming book. I'd love to know how the authors snuck that by the production editors at Macmillan who are renowned for their fanatical attachment to their standard style sheet. Unfortunately as striking as the mere presence of the marginal notes is, the notes themselves aren't very well written. The third part is a brief catalog of about twenty applets enclosed on the bundled CD-ROM. A few like ImageMap are useful. However most are of the the "Control Nuclear Power Plant" or "Frog's Light Snack" ilk, cute but not relevant to any web page but the author's. Most and perhaps all of these are freely available on the net.

Java Programmers Library With CD-ROM
by Suleiman Lalani

This book includes about 50 Java programs, heavily commented and explained. This book is more a source of ideas and examples than a tutorial. The CD-ROM contains the complete Java code for each applet.

Java Programming Basics
by Edith Au, Dave Makower

The Java Programming Language Handbook
by Anthony Potts , David H. Friedel, Jr.

Creating Web Applets with Java
by David Gulbransen , Kenrick Rawlings

This book is about half-fluff and half useful information. However all the useful information is available in more comprehensive and less expensive books.

Java Essentials for C & C++ Programmers
by Barry Boone

Special Edition Using Java with CDROM, 2nd Edition
by Alexander Newman et al.

Does anyone know why Que's Using series is so popular? If so will you please explain it to me. I confess that I find virtually all of these books to be written purely by-the-numbers, and Using Java is no exception. It was tossed together by about twenty different authors of widely varying ability. Some chapters are fine. Some chapters are awful. I suspect at least one author was just rewriting material from Java Unleashed because he copied that book's mistakes too. The complete text is available online which is a somewhat redeeming feature though.

Java Unleashed
by John December, Charles Perkins, Michael Morrison, Rick Fanta

This book is shovelware. Large parts of the book are copied almost verbatim, mistakes and all, from other SAMS.net books including Presenting Java and Teach Yourself Java in 21 Days. Little effort appears to have been made to update the information from those sources. Much of it is out-of-date.

The JAVA Manual of Style
by Nathan Gurewich , Ori Gurewich

The cover blurb says this book has "Over 15 examples included" which pretty much says it all. Although the writing is clear and accurate, the book is far too short to cover the topic.

Instant Java, 2nd Edition
by John A. Pew

This book and the included CD-ROM provides a variety of applets, such as text manipulation, sound, animation, etc., and shows users how to easily plug them into existing web pages. Directions on how to customize these applets to suit specific needs are in the book. This book should be immensely useful to web site designers. It includes many interesting, original and customizable applets you can use to spice up a page. However it has little to interest programmers who want to write their own applets (aside from ideas to copy and be inspired by). The CD-ROM contains the Java Development Kit 1.0.2 for Solaris, Win32, and the Mac. It also contains all the examples, code and applets from Core Java, Java by Example, Instant Java, and Just Java.

Java by Example, 2nd Edition
by Jerry Jackson, Alan L. McClellan

Java is presented through examples, showing the development of Java applets from simple to complex. Explains by example the key elements of the language, such as classes/interfaces, memory management, and distributed computing support. Appendices include complete code samples. The CD-ROM contains the Java Development Kit 1.0.2 for Solaris, Win32 and the Mac, Cafe Lite, WinEdit, WinZip, and assorted demos.

The Java Sourcebook
by Ed Anuff

Active Java, Object-Oriented Programming for the World Wide Web
by Adam Freeman , Darrel Ince

WebSite Programming with Java
by Barton C. Fiske, Jeffrey C. Rice, David Harms

The entire book is set in a weird font in a light shade of blue. The writing may be OK, but I wouldn't really know since I couldn't read more than a few pages before my eyes began to hurt.

Essential Java
by Jason J. Manger

50/50 Java, and JavaScript. The Java material is poorer than the competition.

Java for C/C++ Programmers
by Mike DaConta

The Java Programming EXplorer
by Steve Simkin, Alex Leslie, Neil Bartlett

Teach Yourself Java for the Macintosh in 21 Days
by Laura Lemay , Charles Perkins, Tim Webster

Regrettably it is based on Natural Intelligence's buggy, payware product Roaster rather than the much more stable, reliable, complete and free Java Development Kit from Sun or macintosh Runtime for Java from Apple.

Hooked on Java
by Arthur Van Hoff , Orca Starbuck, Sami Shaio

For people who want to use applets but not necessarily program them.

Presenting Java An Introduction to the Java Language and HotJava Browser
by John December

Presenting Java is very heavy on the philosophy and purpose of Java and very light on practical information. It certainly doesn't have very much information to help you learn to program in Java. It may be a useful book to give your bosses to explain why they should drop $10,000 on a Solaris box so you can play with Java.

Programming with Java!
by Tim Ritchey

This updated version of the bestselling Java! covers the beta 2 release. Unfortunately its got the bare minimum of changes necessary to bring it into beta 2 compliance and doesn't add much to the somewhat skimpy first edition. Too much space is wasted comparing the alpha and the beta.

Java Programming With Visual J++
by Martin Rinehart

Visual J++
by Charles A. Wood

Half of this book is a poorly designed reference to the AWT, which appears to half been tossed in just to easily bulk up the page count. In fact much of this book seems to be nothing more than a quick way to fill space. The CD-ROM does not include Visual J++. It's just a load of shovelware unrelated to the content of the book. To top it all off, what little original content there is seems to be based on laughable Microsoft propaganda. For example "ActiveX controls are a good and necessary component to a strongly Internet influenced language like Java" (p. 232) and "ActiveX controls are designed to be cross-platform" (p. 232). Last I checked there were exactly zero cross-platform ActiveX controls, and other platforms did just fine without them. This is possibly the worst Java book I have seen yet. Where other books in the "Recycle It" category mostly commit sins of omission, this one is just downright wrong.

The Visual J++ Handbook
by Brian Maso

The Visual J++ Handbook
by Charles H. Pappas , William H. Murray

This is the best book yet about Visual J++, for what that's worth (not much). The discussion of Active X is particularly good. However, in 1996, can you believe that when half the books on the market have CD's and most have Web sites, some people are still trying to pull the "Send us $25 for a disk of code" scam? Well, some people are; and the authors of this book are among them.

Visual J++ Java Programming
by Jim Flynn

Web Developer's Guide to Visual J++ & ActiveX
by Trevor Harmon

Visual J++ Programming Frontrunner
by Peter Aitken, David H. Friedel, Anthony Potts

The Comprehensive Guide to Visual J++
by Daniel I. Joshi , Ramesh Chandak

A book/CD package that covers the Java language and programming techniques, Visual J++, and ActiveX. The book shows how to combine Java and ActiveX with Visual J++ for one development solution. CD contains code examples in Visual J++ projects; shareware version of Visual J++; all sample ActiveX COM objects discussed in the book; sample database; Java documentation; and ActiveX component library.

Using Visual J++
by Greg Perry

I suppose that it's no surprise that authors who choose to write about Visual J++ in preference to the dozens of other possible Java related topics tend to be Microsoft sycophants. Nonetheless that doesn't make their brown-nosing any less annoying. For example, consider this statement from page 296: "Of course, one has to admit that Microsoft produces some of the best software in the world. " I admit no such thing, and many others feel as I do. Given the author's general attitude it shouldn't be any surprise that cross-platform issues are completely ignored in this book.

Inside Visual J++
by Karanjit S. Siyan

This book shows you how to write Windows dependent Java and Active-X programs using Visual J++. The CD-ROM includes a Visual J++ demo version, the ActiveX Software Developer's Kit from Microsoft, Internet Explorer 3.0, and Internet Information Server.

Late Night Microsoft Visual J++
by Marc Johnson, Robert McDaniel, Michael Morrison

Mastering Visual J++
by Steven Holzner

Special Edition Using Visual J++
by Mark Culverhouse, Greg Perry, Nelson Howell, Clayton Walnum

Teach Yourself Visual J++ in 21 Days
by Patrick Winters, Charles Perkins, David Olhasso, Laura Lemay

How to Program Bongo
by Jocelyn Becker

This book shows programmers how to use Marimba's Bongo to create Castanet content channels. It starts with an introduction to Bongo and its interface, providing a step-by-step lesson in the creation of a "test widget." The book's other chapters follow this learn-by-example approach and finish with a summary to review the information. The lessons take you through each step in the creation of your own Castanet channel, The Fruit Shop Channel, from conception to launch.

Castanet and Bongo: No Experience Required
by Bill Bercik, Sylvia Purcupile

Bongo for Dummies
by Mike Crawford

Castanet & Bongo Programming Frontrunner
by Neil Bartlett , Steve Simkin

Discover Visual Cafe
by Arthur Griffith, David A. Wall

Java Programmer's Pocket Reference
by Herbert Schildt, Joe O'Neil

Abstract Data Types in Java
by Michael S. Jenkins

Java Game Programming for Dummies
by Wayne Holder, Douglas Bell

Java in a Nutshell, 2nd Edition
by David Flanagan

The first edition was an excellent introduction to Java for C programmers, an excellent reference for everyone, and a bargain at $19.95. The second still is, but it's been updated to cover all of the new features in Java 1.1. It contains an introduction to key Java concepts, descriptions of all of the classes in the core Java 1.1 API, a detailed description of the syntax of the Java language, and an advanced introduction to Java for C and C++ programmers who want to get up to speed with Java quickly.

The new Java 1.1 material in "Java in a Nutshell, 2nd Edition" includes:

Java in a Nutshell: Deluxe Edition
by David Flanagan

This edition is notable for including the complete text of Exploring Java, The Java AWT Reference, The Java Fundamental Classes Reference, and The Java Language Reference on the bundled CD-ROM in HTML format.

RMI: Developing Distributed Java Applications with Remote Method Invocation and Object Serialization
by Troy Bryan Downing

This book explores the architecture, specification, and usage of Remote Method Invocation (RMI).

Symantec Visual Cafe Sourcebook: A Complete Guide to Creating Java Applets With Visual Cafe
by Cary A. Jardin, Pam Dixon

Java Programming for Dummies, 2nd Edition
by David Koosis, Donald J. Koosis

Java for Dummies, 2nd Edition
by Aaron E. Walsh

Graphic Java, 2nd Edition
by David M. Geary , Alan L. McClellan

Probably the best book about the 1.1 AWT

Core Java 1.1: Volume 1 Fundamentals
by Gary Cornell, Cay Horstmann

Visual Developer Java Database Programming With JDBC
by Pratik Patel, Karl Moss

Database Programming With JDBC and Java
by George Reese

Java and databases make a powerful combination. Java lends itself to portable interfaces and reuse, while databases serve up the riches stored by a corporation or other organization. Getting the two sides to work together, however, takes some fiddling -- largely because Java deals in objects while most databases are not object oriented. This book describes the standard Java interfaces that make portable, object-oriented access to relational databases possible, and offers a robust model for writing applications that are easy to maintain. It covers the JDBC and RMI packages and uses them to develop three-tier applications (applications divided into a user interface, an object-oriented logic component, and an information store). Virtually all the important database providers have drivers to support JDBC. If you have a database at your site and know some Java, this book will help you become a more effective application developer for Java database programs. It shows you how to embed SQL commands into a Java program using the JDBC APIs, and how to break your application into interfaces and classes that maximize the opportunities for reuse and easy maintenance. You also learn how to find servers through the RMI (Remote Method Invocation) interface and to use an object broker. This is a book that can truly pull your computing site together. It includes a comprehensive three-tier database example and reference listings for JDBC and the most important RMI classes. Covers Java 1.1.

Java Gently: Programming Principles Explained
by Judy Bishop

This is allegedly a course text for an Introduction to Java Programming for non-programmers course. However, I suspect it covers too much, too fast for this purpose.

Migrating from Java 1.0 to Java 1.1
by Daniel I Joshi, Pavel A. Vorobiev

Database Programming With Visual J++
by Chris Lester

Web Programming With Visual J++
by Mike Cohn, Jay Rutten, James Jory

Teach Yourself Database Programming With Visual J++ in 14 Days
by John Fronckowiak, Gordon B. McMillan

Visual J++ Bible
by Richard Leinecker, Tom Archer, Michael Farmer, Jerry Muelver

Visual J++ 1.1: No Experience Required
by Steven Holzner

Note that Visual J++ 1.1 still uses Java 1.0.

Tom Swan's Mastering Visual J++
by Tom Swan

Microsoft Visual J++ Sourcebook
by John Cross, Al Saganich

Discover Visual J++
by Paul J. Perry

JBuilder Programming for Dummies
by Barry Burd

Advanced Techniques for Java Developers
by Daniel Berg, J. Steven Fritzinger

Essential Java Fast: How to Write Object Oriented Software for the Internet in Java
by John Cowell

Graphics Programming With Java
by Roger T. Stevens

This is a moderately interesting book. The chapters on Bezier curves ansd solid modeling are good. However, I question the wisdom of giving equal time to things that are fully supported in the AWT (like drawing lines and ovals) to things that are not (Bezier curves). I would much prefer more pages spent on the more advanced topics and fewer on the basics which are adequately covered in many other books.

As Java books go, this book has a surprising amount of math. It's the first one I've seen to use a derivative, for example. However I think there's too much math for the non-mathematical readers and not enough for mathematically oriented readers. I also would have preferred more in-depth discussions of the logic behind and reasons for the formulas Stevens presents.

How to Program JavaBeans
by Peter Coffee, Michael Morrison, Randy Weems, Jack Wong

Java 1.1 Networking and Communications
by Todd Courtois

This book covers networking preliminaries like streams, threads, and native methods as well as basic networking topics like URLs, sockets, and UDP. Advanced topics like RMI and multicasting are not really addressed. The threads material is noticeably weak, especially on synchronization.

The Complete Guide to Java Database Programming: JDBC, ODBC & SQL
by Matthew Siple

Java for Business: How Companies Are Using Java to Win Customers and Make Money Now
by Thomas Anderson

Java 1.1 Developer's Guide, 2nd Edition
by Jamie Jaworski

Java 1.1 Unleashed Professional Reference Edition
by Michael Morrison

Mastering Java 1.1, 2nd Edition
by Laurence Vanhelsuwe, Ivan Phillips, Goang-Tay Hsu, kr Sankar

Maximum Java 1.1 With CD
by Glenn Vanderburg

Object-Oriented Programming in Java
by Bill McCarty, Steve Gilbert

Modern Compiler Implementation in Java: Basic Techniques
by Andrew W. Appel

Inside Java Workshop
by Lynn Weaver, Robert Jervis

Java Networking and Communications: Building Communicating Applications with Java
by Todd Courtois

Java Electronic Commerce Sourcebook: All the Software and Expert Advice You Need to Open Your Own Virtual Store
by Cary Jardin

Late Night VRML 2.0 With Java
by Bernie Roehl, Tim Rohaly, Cindy Reed-Ballreich, Justin Couch

Java Software Solutions: Foundations of Program Design
by William Loftus, John Lewis

This is an undergraduate text for an Introduction to Java Programming course. However, it's too advanced for a first course in programming.

Special Edition Using Java 1.1
by Joseph Weber, Jamie Costa, David Baker, Joe Carpenter, Joseph Weber, ani Hemrajani

Beginning Java
by Ivor Horton

This is a good, comprehensive introduction to Java 1.1 for experienced programmers. It covers a lot of advanced topics like printing and JDBC that similar books ignore. This book is the text for a course for the Ziff-Davis Online University.

Principles of Object Oriented Programming in Java 1.1
by James W. Cooper

This book thries to intrloduce both Java and object oriented programming too quickly, and thus does justice to neither. Still, the three chapters on design patterns are a partially redeeming factor.

The Visual Basic Programmers Guide to Java
by James W. Cooper

Web Site Programming With Java 1.1
by David Harms , Barton C. Fiske, Jeffrey C. Rice

The Java 1.1 Developer's Handbook
by Philip Heller, Simon Roberts, Peter Seymour, Tom McGinn

The Java Developer's Toolkit
by Kevin Leininger

Developing Java Entertainment Applets
by John Withers

Cutting Edge Java Game Programming: Everything You Need to Create Interactive Internet Games With Java
by Neal Bartlett, Steve Simkin, Chris Stranc

JAVA Jump Start: A Beginner's Guide to Internet Programming
by Noel Enete

This book is bundled with a CD that includes an extensible Web server written in Java (with source) and a tree of web pages that give "click" access to each example in the book. The last section of the book takes the reader from a simple socket program to a simple Web server in 3 chapters.

Late Night Advanced Java
by Vidya Bharat

Several online bookstores incorrectly list this book as being written by me, Elliotte Rusty Harold under the title PC Magazine Java Programming. This is not true. I did not write this book. I had nothing to do with this book. I have not even seen a copy of this book. I am not yet sure how this false information is being propagated. I suspect there's a mistake in the materials Ziff-Davis Press is sending out to booksellers.

Using Java Workshop
by Clayton Walnum

Black Art of Java Game Programming: Creating Dynamic Games and Interactive Graphical Environments Using Java
by Joel Fan, Eric Ries, Calin Tenitchi

Java Fundamental Classes Reference
by Mark Grand, Jonathan Knudsen

The Java Fundamental Classes Reference provides complete reference documentation on the core Java classes that comprise the java.lang, java.io, java.net, and java.util packages. These classes provide general-purpose functionality that is fundamental to every Java application. This edition describes Version 1.1 of the Java Developer's Kit. The Java Fundamental Classes Reference includes reference material on every core Java class and provides sample code to help you learn by example.

Viewed in isolation, this isn't a bad book; but it's not as good the Addison-Wesley books that cover the same material, nor does it add that much to what's freely available online.

Creating Cool Web Applets with Java
by Paul J. Perry

The Java FAQ: Frequently Asked Questions
by Jonni Kanerva

I have a general aversion to "FAQ" lists that are only available as payware rather than being made freely available on the net for all to learn from. The entire text of this book really shoud be on Sun's Web site. Nonetheless, I must admit it's a useful book. The questions are taken from those programmers have sent to java@java.sun.com, and are reasonably representative of what I see on Usenet and hear from my students. There are a few notable omissions (there's no discussion of formatted output, for example) and some of the answers hew too closely to the Sun line to be fully answered (for instance, the frequent question about playing audio in applications is answered by saying it's simply not possible with no reference to the sun.audio package). However, despite these shortcomings this is still a useful book.

JDBC Database Access with Java
by Graham Hamilton, Maydene Fisher, Rick Cattell

Java How To Program, 1st Edition
by Harvey M. Deitel , Paul J. Deitel

This appears to be the first real Java 1.0 text book, suitable for use in a college class as opposed to self-study. Superseded by the second edition.

Java Language Reference Manual, 2ndEdition
by Mark Grand

This edition describes Version 1.1 of the Java language. It includes:

Data Structures and Problem Solving Using Java
by Mark Allen Weiss

Enterprise Java : Where, How, When - And When Not to Apply Java in Client/Server Business Environments
by Jeffrey Savit, Sean Wilcox, Bhuvana Jayaraman

Java 1.1: The Complete Reference, 2nd edition
by Herbert Schildt

Java Algorithms
by Scott Robert Ladd

Java Gems: Jewels from Java Report
by Dwight Deugo

Java 1.2 in Record Time
by Steven Holzner

Just Java 1.1 and Beyond
by Peter Van Der Linden

Official Netscape Programming Java 1.1 With JFC
by Daniel I. Joshi

Programming Java : An Introduction to Programming Using Java
by Stuart Hirshfield, Rick Decker

Java 1.1 Certification Exam Guide Book
by Cary Jardin

Teach Yourself More Java 1.1 in 21 Days
by Jerry Ablan, Michael Morrison

Java Certification Exam Guide for Programmers and Developers
by Barry Boone

JavaBeans Developer's Resource
by Prashant Sridharan

Core Java 1.1 : Volume II Advanced Features
by Gary Cornell, Cay S. Horstmann

Data Structures in Java
by Thomas A. Standish

This book is perhaps the first undergraduate data structures text that uses Java as the implemenattion language rather than C, Pascal, or some other more traditional language. The material is covered in that recommeneded my the ACM's recommeneded curriculum for CS 2; i.e. abstract data types, sorting, searching, hash functions, linked lists, trees, tries, stacks, queues, and so on. If you're teaching such a course, this is a completely adequate choice of course text. It's not bad for self-study of these topics either.

Java Database Development
by Martin Rhinehart

Java Training Guide
by Steve Heller

The CD bundled with this book features a training video by the author of this page, Elliotte Rusty Harold. If you ever wondered what I sound like, this is your opportunity to find out.

Java: An Object First Approach
by Fintan Culwin

Special Edition Using Java Beans
by Barbara White

Netscape IFC in a Nutshell
by Dean Petrich, David Flanagan

Netscape IFC in a Nutshell is a desktop quick reference and programmer's guide to the Internet Foundation Classes (Version 1.1) from Netscape. The book features a quick reference plus more than 20 tutorial-style, example-based chapters that introduce each of the features and GUI components of the IFC. These features include:

The IFC 1.1 library is freely available on the Internet, for use in any Java application or with any Java-capable web browser, and is bundled with Netscape's Navigator 4.0 web browser. Furthermore, the Netscape IFC classes documented in "Netscape IFC in a Nutshell" will strongly influence the development of the Java Foundation Classes (JFC), under development by Sun, Netscape, IBM, and others. The JFC will reportedly merge IFC technology with Sun's AWT GUI toolkit. Although the JFC will eventually supersede the IFC, the IFC is a powerful class library, is available now, and is a very useful and stable predecessor to the JFC. Netscape has committed to providing a migration path to the JFC, when it becomes available, so experience now with the IFC will give programmers a head start on the JFC.

Dr. Dobb's Guide to Java Programming
by Eugene Eric Kim

Java 3D API Specification
by Michael Deering, Henry Sowirzal, Keven Rushforth

Java Certification Study Guide
by Simon Roberts, Philip Heller

Java in Plain English, 2nd Edition
by Brian Overland

JavaBeans Developer's Guide
by Piroz Mohseni

Developing Java Beans
by Robert Englander

Beans make Java simpler. Using a visual builder tool like Borland's JBuilder or IBM's VisualAge for Java (not discussed in the book), developers can connect several beans together and make an application, without actually writing any Java code--in fact, without doing any programming at all.

"Developing Java Beans" explains how to write classes that are serializable, use events for communication between classes, know when and how to provide BeanInfo classes that give graphical environments more information about components, and provide property editors and customizers that let graphical tools work with more complex beans, and use beans as ActiveX controls.

Beans is moving quickly, and this book is already out of date. Since no real builder tools were available when this book was being written, the discussion is almost exclusively about how to code beans, with little coverage of how to combine beans into applets and applications. Nonetheless as of September, 1997 this is probably the best book currently in print on JavaBeans and is a good place to start if you want to develop your own bean components.

Exploring Java (2nd Edition)
by Pat Niemeyer, Joshua Peck

Java Database Programming: Servlets & JDBC
by Alan Williamson, Ceri Moran

The Java 1.1 Programmer's Reference
by Daniel I. Joshi, Pavel A. Vorobiev

Java-Sig's 100 Best Applets
by Tom Courtney

Intelligent Java Applications for the Internet and Intranets
by Mark Watson

Many distributed AI examples developed in Java

Active Visual J++
by Scott Robert Ladd

Inside Java Workshop 2.0
by Lynn Weaver, Robert Jervis

Java Examples in a Nutshell
by David Flanagan

Visual J++ for Dummies Quick Reference
by Namir C. Shammas

Java API for Dummies: Quick Reference
by Stephen D. Lockwood, Madhu Siddalingaiah

This book is little more than page after page of listings of the signatures of various methods in various classes. Few examples are provided, and in general there's almost no explanation about what these methods do. It's pretty obvious that the material wsa shoe-horned into a particular page count, into which it really couldn't fit. The much longer reference books from Addison-Wesley are much more useful.

Borland's JBuilder (No Experience Required)
by John Zukowski

Title aside, this book does assume the reader is an experienced Java programmer. Java basics are explicitly not covered.

Presenting Java Beans
by Michael Morrison

This book is somewhat out of date, and does a lot of rewriting of Sun white papers. The O'Reilly book is a better choice.

Mastering JavaBeans
by Laurence Vanhelsuwe

Better than average treatment of JAR archives

Discover Java
by Ed Tittel, Bill Brogden

Internet Programming : An Introduction to Object Oriented Programming With Java
by Adam Freeman, Darrel Ince

Java Programming: A Practical Guide
by Neil Fawcett, Terry Ridge

Java Bible
by Aaron Walsh

JavaBeans Developer's Reference
by Dan Brookshier

Object-Oriented Programming in Java
by Mark C. Reynolds

Advanced Java Programming
by Jeffrey Rice, Irving Salisbury III

Java 1.1 lernen
by Guido Kr�ger

This book is written in German.

Java Digital Signal Processing
by Douglas A. Lyon, Hayagriva V. Rao

Java/C++ Cross Reference Handbook
by Frederick F. Chew

JBuilder 2 Bible
by Eric Armstrong

Practical Introduction to Data Structures and Algorithm Analysis
by Clifford A. Shaffer

Programming With Java IDL
by Geoffrey Lewis, Steven Barber, Ellen Siegel

The Java Class Libraries, 2nd Edition, Volume 2
by Patrick Chan , Rosanna Lee

Covers java.awt, java.applet and java.beans packages

The Java Class Libraries, 2nd Edition, Volume 1
by Patrick Chan , Rosanna Lee, Doug Kramer

Covers java.lang, java.io, java.net, java.util, and java.math

Developing Java Software
by Graham Roberts, R. Winder

A brief introduction to Java followed by lots of material about algorithms and data structures

Object Models: Strategies, Patterns and Applications
by Peter Coad, David North , Mark Mayfield

The second edition of this book, the one listed here, includes a number of design patterns implemented in Java

Visual J++ 1.1 Unleashed, 2nd Edition
by Bryan Morgan

Java 1.2 Developer's Handbook
by Philip Heller, Simon Roberts

Java Studio by Example
by Lynn Weaver, Leslie Robertson

Mastering Java 1.2
by John Zukowski

Sun Performance and Tuning : Java and the Internet
by Adrian Cockcroft, Richard Pettit

Understanding UML: The Developer's Guide : With a Web-Based Application in Java
by Paul Harmon, Mark Watson

The Unified Modeling Language (UML) is a third generation method for specifying, visualizing, and documenting an object-oriented system under development. It unifies the three leading object-oriented methods and others to serve as the basis for a common, stable, and expressive object-oriented development notation. As the complexity of software applications increases, so does the developer's need to design and analyze applications before developing them. This practical introduction to UML provides software developers with an overview of this powerful new design notation, and teaches Java programmers to analyse and design object-oriented applications using the UML notation.

Client/Server Programming With Java and Corba, 2nd Edition
by Robert Orfali, Dan Harkey

Core Web Programming
by Marty Hall

Essential JNI: Java Native Interface
by Robert Gordon

Introduction to Programming : An Object-Oriented Approach Using Java
by David Arnow, Gerald Weiss

Java Beans for Real Programmers
by Peter Wayner

Mission Critical Java
by Gregory Dennis, James R. Rubin

Modern Compiler Implementation in Java, 2nd Edition
by Andrew W. Appel

Programming Domino 4.6 With Java
by Bob Balaban

JavaBeans
by Elliotte Rusty Harold

Java Network Programming
by Elliotte Rusty Harold

The best book yet written about network programming in Java, then again I'm probably a little biased :-)

Programming with Java
by Barry Holmes

An introductory programming textbook with lots of exercises with answers in the back

On To Java 1.2
by Patrick Henry Winston , Sundar Narasimhan

I found the structure a little distracting, but I can believe some people might like this approach.

Programming and Deploying Java Mobile Agents with Aglets
by Danny B. Lange, Mitsuru Oshima

Advanced Java Development for Enterprise Applications
by Clifford J. Berg

AFC Black Book
by Clayton Walnum

An Introduction to Java Programming: Developing Applets Using Microsoft Visual J++
by Carol Stoker, Thomas Plew

An Introduction to Programming: An Object-Oriented Approach with Java
by C. Thomas Wu

Application Foundation Class (AFC) Developer's Workshop
by Michael J. Young

Awesome Power of JavaBeans
by Lawrence H. Rodrigues

The Awesome Power of Power++
by Tim Hatton

Client/Server Data Access with Java and XML
by Daniel Chang, Dan Harkey

The Complete Guide to Java
by Andy Cobley

The Complete Idiot's Guide to Java 1.2
by Michael Morrison

Computer Graphics in Java
by Leen Ammeraal

Computing Concepts With Java
by Cay S. Horstmann

Computing with Java: Programs, Objects, Graphics
by Art Gittleman

Concurrent Programming in Java, 2nd Edition
by Doug Lea

This is the best book available on multi-threaded programming, but it's a little tough going in parts. You may want to read the O'Reilly threads book first to get up to speed on the basics.

Connecting JavaBeans with InfoBus
by Reaz Hoque

CORBA Networking with Java
by George M. Doss

CORBA on the Web
by Ron Ben-Natan

Core Java Foundation Classes (JFC)
by Kim Topley

DCOM Networking With Visual J++ 6.0
by George M. Doss

Decompiling Java
by Godfrey Nolan

Developing JavaBeans Using VisualAge for Java
by Dale R. Nilsson, Peter M. Jakab

Essential JMF: Developer's Java Media Players
by Rob Gordon, Stephen Talley

Essential JTAPI: Designing Telecom Products with Java
by Spencer Roberts, Bohdan Besaha

Graphic Java 1.2: Mastering the JFC, Volume 1:
by David Geary

Hands On JavaBeans
by John B. Harvie, Mitch Allen

Instant Java 1.2
by John A. Pew, Stephen Pew

Java 1.1 Unleashed, 2nd Edition
by Michael Morrison

Java 1.1: No Experience Required
by Steven Holzner

Java 1.2 and JavaScript for C/C++ Programmers
by Mike Daconta

Java 1.2 Unleashed
by Jamie Jaworski

Java By Example 1.2
by Jerry Jackson, Alan McClellan

Java by Example
by Clayton Walnum

Java Cryptography
by Jonathan B. Knudsen

The Java Database Connectivity Specification and Tutorial
by Graham Hamilton

Java Design: Building Better Apps and Applets, 2nd Edition
by Peter Coad

The Java Developer's Almanac
by Patrick Chan

Java for Dummies, 3rd Edition
by Aaron Walsh

Java for Students
by Doug Bell, Mike Parr

Java for the World Wide Web: Visual QuickStart Guide
by Dori Smith

Java Foundation Classes
by Matthew Nelson

Java Gently, 2nd Edition
by Judy Bishop

Java in Practice; Design Styles and Idioms for Effective Java
by Nigel Warren

Java Network Security
by Robert MacGregor

Java Programming by Example
by Rajiv Sharma, Vivek Sharma

Java Programming For The Internet
by Marc Loy, Thomas J. Berry

Java Programming For Windows: Using Microsoft AFC, WFC And XML
by Mark Watson

Java Programming with CORBA, 2nd Edition
by Andreas Vogel, Keith Duddy

Java Programming: An IS Perspective
by Jan L. Harrington

Java Security
by Scott Oaks

This is probably the best-written book I've ever given a Recycle It rating to. The problem here isn't the writing or the technical accuracy. It's the topics that are (and more importantly aren't) covered. In the preface, Oaks says "what I really wanted to talk about was how an applet could be allowed to read a file." Unfortunately, he doesn't actually get to that topic until the appendixes; and even there he only discusses it in the context of HotJava, the JDK, and the applet viewer. If you want to know how to get an applet to read a file in Netscape or IE, you'll have to go to Netscape's and Microsoft's Web sites respectively. You won't find that inforamtion here. While the book does cover Java 1.2's security classes quite thoroughly, it doesn't have much of practical value to Web devleopers who just want their applets to read files.

Java Servlet Programming
by Jason Hunter, William Crawford

Java Servlets
by Karl Moss

Java Swing
by Robert Eckstein

Java Thin-Client Programming for the Network Computing Environment
by Henry Jubin, Jurgen Friedrichs

Java: Data Structures and Programming
by Liwu Li

JavaBeans by Example: Cooking Beans in the Enterprise
by Henry Jubin

JFC, Java Foundation Classes
by Daniel Joshi, Pavel A. Vorobiev

Just Java 1.2, 4th Edition
by Peter van der Linden

Key Java: Tips and Techniques
by John Hunt, Alexander McManus

Modern Compiler Implementation in Java: Basic Techniques
by Andrew W. Appel

Network Programming with Visual J++
by Andy Wilson

Object-Oriented Design in Java
by Stephen Gilbert, Bill McCarthy

Object-Oriented Software Construction, 2nd Edition
by Bertrand Meyer

Patterns In Java, Volume 1: A Catalog of Reusable Design Patterns Illustrated with UML
by Mark Grand

Platinum Edition Using HTML 4, XML X and Java 1.2
by Eric Ladd, Jim O'Donnell

Problem Solving with Java
by Elliot B. Koffman, Ursula Wolz

Programming Mobile Objects with Java
by Jeff Nelson

Programming Web Components: JavaBeans & ActiveX
by Reaz Hoque, Tarun Sharma

Programming with JFC
by Scott Weiner, Stephen Asbury

Programming with Microsoft AFC
by Eric Swildens, Selena Sol

Programming with the Java Media Framework
by Loren Winzeler

Programming with VisiBroker
by Doug Pedrick

Programming with VisualAge for Java 2.0
by John Akerley, Marc Carrel-Billiard

Teach Yourself Java 1.1 in 21 Days
by Laura Lemay, Charles L. Perkins

Teach Yourself Java 1.2 in 24 Hours
by Rogers Cadenhead

Teach Yourself JavaBeans in 21 Days
by Donald Doherty

Teach Yourself Visual Cafe 2 in 21 Days
by Mike Cohn

Understanding Object-Oriented Programming With Java
by Timothy Budd

Up to Speed with Swing: User Interfaces with Java Foundation Classes
by Steven Gutz

Using Java 1.2
by Michael Morgan

Using Netscape IFC
by Arun Rao

Using Visual J++ 6.0
by Scott Mulloy

Visual Developer SQL Database Programming with Java
by Bill McCarty

Visual J++ 6 from the Ground Up
by Brian Maso

Visual J++ 6 Secrets
by Chuck Wood

Web Programming with Java
by Michael Girdley, Kathryn A. Jones

Unreleased Books about Java

101 Instant Java Applets
by David Gulbransen

3D Java
by Chris Laurel

Advanced Java Network Programming
by Justin Couch

Advanced Techniques for Java Developers, Rev. Ed.
by Daniel J. Berg, J. Steven Fritzinger

AFC Programmer's Guide: Official Guide to the Microsoft Application Foundation Class Libraries for Java
by Stephen R. Davis

Algorithms in Java, Parts 1-4 : Fundamentals, Data Structures, Sorting, Searching
by Robert Sedgewick, Tim Lindholm

An Introduction to Computer Science Using Java
by Samuel N. Kamin, M. Dennis Mickunas, Edward M. Reingold

An Introduction to Data Structures and Algorithms with Java
by Glenn Rowe

Applied Java Cryptography
by Merlin Hughes, Conrad Hughes

Beginning Java 1.2
by Ivor Horton

Building Distributed Java Applications
by Jeffrey Morgenthal

Castanet for Dummies
by

CGI Programming with Java
by Gary Cornell, Kamal Abdali, Cay S. Horstmann

Client/Server Programming with JavaBeans
by Robert Orfali, Dan Harkey

Compiler Design in Java
by Allen I. Holub

Component Java: Developing Components With JavaBeans and ActiveX
by David R. Chung

Component Programming With JavaBeans
by Doug Nickerson

Constructing Intelligent Agents With Java: A Programmer's Guide to Smarter Applications
by Jennifer Bigus, Joseph P. Bigus

CORBA and Distributed Applications Including Java
by Salil Deshpande

CORBA & Java; Where Distributed Objects Meet the Web
by Brian Morgan

Core Java Networking
by Pat Niemeyer

Core JavaBeans
by John A. Pew, John Cable

Core JDBC Programming
by Janet L. Traub, David J. McElroy

Corel Office for Java 6 in 1
by Elaine Marmel, Sherry Kinkoph

This book probably won't be published now that Corel has killed Office for Java

Developing Java Enterprise Applications
by Stephen Asbury

Developing Java Software
by Russel Winder, Dr. Graham Roberts

Discover Bongo
by Michael Afergan

Distributed Programming with Java
by Qusay H. Mahmoud

Enterprise Java Developer's Guide
by S. Naru Narayanan, Juhne Liu

From C to Java
by Conor White

Fuzzy Models Using Java
by Earl D. Cox

Graphic Java Volume 2: Swing
by David Geary

Graphic Java Volume 3: 2D API
by David Geary

Hands on Java
by Eric C. Richardson, Michael Morrison

How to Program Microsoft Visual J++
by Daniel Wygant

HTML 4, Java 1.2 and Activex Web Publishing Unleashed
by Brian A. Croft, Michael Moncur

Image Processing in Java
by Douglas A. Lyons

Inside JavaOS
by Tom Clements, Tom Saulpaugh, Charles Mirho

Inside Visual J++
by Stephen R. Davis

Java 1.1 Programming for the Internet
by Donald Ball, Pratik Patel, Alan Hudson, Michael Thomas

Java 1.1 Sourcebook: A Complete Guide Updated for Java 1.1
by Ed Anuff

Java 1.1 Unleashed, Professional Reference Edition, 2nd Edition
by Michael Morrison

Java 1.2 and Javascript for C and C++ Programmers
by Mike Daconta

Java 1.2 Certification Exam Guide
by Barry Boone

Java 1.2: The Complete Reference
by Patrick Naughton, Herbert Schildt

Java 2D Graphics
by Jonathan Knudsen

Java and Object Orientation : An Introduction
by John Hunt

Java Applets and Channels Without Programming
by Ronny Richardson, Bruce Murray, Michael Shoffner, Marq Singer

Java Beans: Creating Reusable Components for Distributed Applications
by Mark Watson

Many distributed AI examples developed in Java

Java Commerce and Security Programming
by Alan Littleford

This guidebook shows you how to conduct business with electronic cash, and teaches programmers how to use Java to program for electronic commerce and security. The CD features cut-and-paste code examples.

Java Database Development With JBuilder
by Jeff Cogswell

Java Database Programming JDBC
by Bernard Van Haecke

Java Database Programming Lab
by Mike Morrison

Java Distributed Computing
by James Farley

Java Distributed Computing
by Jim Farley

Java Enterprise in a Nutshell a Desktop Quick Reference
by William Crawford

Java FAQs
by Clifford J. Berg

Java First Contact
by Roger Garside, John Mariani

Java for 3D and VRML Worlds
by Rodger Lea, Kouichi Matsuda, Ken Miyashita

Java for Computer Information Systems
by Andrew C. Staugaard

Java for Practitioners
by John Hunt

Java for Students 1.2, 2nd Edition
by Doug Bell, Mike Parr

Java Foundation Classes in a Nutshell
by David Flanagan

Java How to Program, 3rd Edition
by Harvey M. Deitel, Paul J. Deitel

Java I/O
by Elliotte Rusty Harold

Java Media Players
by Bill Day

Java Native Interface; Programming Guide and Reference
by Sheng Liang

Java Native Methods
by Alligator Descartes

Java Network Programming (2nd Edition)
by Merlin Hughes, Maria Winslow, Conrad Hughes, Michael Shoffner

Java Power Reference: A Complete Searchable Resource
by David Flanagan

Java Programmer JDK 1.2 Exam Cram
by William B. Brogden

Java Programming Basics: For Java 1.1
by Edith Au, Dave Makower

Java Programming with an Introduction to J++
by Steve Blaha

Java Programming With JBuilder
by Steven Holzner

This is a hands-on, example heavy guide to Java programming using JBuilder. It is written for easy understanding by less-experienced Web page designers interested in harnessing the power of Java.

Java Programming with Symantec Cafe
by Gary Cornell, Cay S. Horstmann

Java Security
by Li Gong

Java Studio Blue Book
by Jennifer Atkinson, Lee Taylor

Java Studio; Effective Web Design in 3 Days
by Lee Taylor

Java Threads, 2nd Edition
by Scott Oaks, Henry Wong

Java Under the Hood
by Allen I. Holub

Java VRML Power Guide
by Troy Downing, Athomas Goldberg

JavaOne Conference Proceedings
by Orca Starbuck

Javastations and Java Computing
by Behfar Razavi

JBuilder Essentials
by Cary Jensen, Lay Andersen, Blake Stone

Borland's suite of Java development tools for Windows.

JBuilder for Dummies
by Barry Burd

JBuilder Programming Explorer
by Steven Fraser, Terence Goggin, Ravi Singh

JBuilder Programming FrontRunner: The Hands-On Guide to Mastering Java Development With JBuilder
by Jeff Duntemann, Terrence Goggin, Joshua Kerievsky, Steven Fraser, Matt Telles

JBuilder Unleashed
by Dave Medinets

JBuilder Unleashed is a reference in the format of the other Unleashed books. The book focuses on what JBuilder can be used for, as well as specific types of Java application development. The reader will not be taught Java.

Late Night JavaBeans Programming
by Barbara White

Mastering Borland JBuilder
by Laurence Vanhelsuwe , Marco Cantu

Mastering Visual J++ 6
by Steve Holzner

Novell's Guide to Netware Java
by J. Douglas Smith

Object-Oriented Software Development in Java
by Xiaoping Jia

Patterns In Java, Volume 2
by Mark Grand

Peter Norton's Guide to Visual J++
by

Platinum Edition Using HTML 3.2, Java 1.2 and Javascript
by Jim O'Donnell, Eric Ladd

Reality Architecture: Building 3D Worlds in Java and VRML
by Martin McCarthy, Alligator Descartes

Server-Side Java Power Guide
by Troy Downing

Software Components for the Enterprise: Building Business Objects with UML, Java, and XML
by Chris Marshall

Special Edition Using Java Class Libraries
by Krishan Sankar

Special Edition Using Java Development Tools
by

Teach Yourself ActiveX Programming With Visual J++ in 21 Days
by Keith Brophy, Tim Koets

Teach Yourself Java 1.1 for Macintosh in 21 Days
by Charles L. Perkins, Andrew S. Downs, Laura Lemay

Teach Yourself Java 1.1 in 21 Days, Sun Certification Exam Preparation Guide
by Devon Tuck

Teach Yourself JBuilder in 21 Days
by Michell M. Manning

This book teaches the reader how to use the JBuilder development environment to program in Java. It's aimed at programmers new to Java.

Teach Yourself Visual J++ in 21 Days (2nd Edition)
by Patrick Winters, Charles Perkins, David Olhasso, Laura Lemay

The Awesome Power of PowerJ
by Tim Hatton

The Developer's Guide to Java Web Server
by Dan Woods

The Encyclopedia for Jasmine - JAVA Connection
by Stephen J. Straley, Bill Milligan

The Java Language Specification, 2nd Edition
by James Gosling

The Java Master Reference
by Arthur Griffith

The Java Primer
by David Forster

The Java Tutorial: Object-Oriented Programming for the Internet, 2nd Edition
by Mary Campione, Kathy Walrath

This is the same tutorial available online at Javasoft. It's also avilable there in Postscript format. While this book is well written and easy to follow, it does suffer from trying to create a book from a hypertext document. It's clear that where the needs of hypertext and the needs of a paper book conflicted, the hypertext took precedence and that hypertext is where the authors hearts were. Therefore I suggest you read the copy on the web, and leave the book on store shelves.

The Java Virtual Machine Specification, 2nd Edition
by Tim Lindholm, Frank Yellin

Understanding Java Telephony
by Edwin K. Margulies

Using Java 1.2
by Joseph L. Weber

Visual Cafe Pro Explorer
by Ed Tittel, Jeffrey A. Louie, William B. Brogden

Visual J++ Database Programming Lab
by Mike Morrison

Visual J++ Developers Guide
by

Visual J++ Intranet Programming Lab
by Michelle M. Manning

Visual J++ Master's Handbook
by Chuck Wood

Web Designer's Guide to Castanet
by

Out of Print

1001 Java Programming Tips
by Mark C. Chan, Steven W. Griffith, Anthony F. Iasi

Core Java, 1st Edition
by Gary Cornell, Cay S. Horstmann

Superseded by the second and now third edition

Core Java, 2nd Edition
by Gary Cornell , Cay S. Horstmann

For experienced programmers, this books covers both the fundamentals and the advanced tips and tricks of the experts. It provides coverage of all Java features and syntax as well as Visual Basic and C/C++ tips that compare and contrast features of Java to those languages. This book is very Windows specific. Macs are covered in an appendix. Unix and OS/2 are hardly mentioned.

Core Java, 2nd Edition
by Gary Cornell, Cay S. Horstmann

Covers Java 1.0 quite well

Graphic Java
by David M. Geary, Alan L. McClellan

Probably the best book about the AWT 1.0.2, although it does have more mistakes than it should, superseded by the second edition

Instant Java, 1st Edition
by John A. Pew

This book and the included CD-ROM provides a variety of applets, such as text manipulation, sound, animation, etc., and shows users how to easily plug them into existing web pages. Directions on how to customize these applets to suit specific needs are in the book. This book should be immensely useful to web site designers. It includes many interesting, original and customizable applets you can use to spice up a page. However it has little to interest programmers who want to write their own applets (aside from ideas to copy and be inspired by). A second edition is planned soon so you may wish to wait for that. The CD-ROM contains the Java Development Kit 1.0 for Solaris, Win32 and the Mac. It also contains all the examples, code and applets from all the Sunsoft Press Java books, that is Core Java, Java by Example, Instant Java, and Just Java.

Internet World 60 Minute Guide to Java
by Ed Tittle, Mark Gaither

A quick hack to make a buck from the popularity of Java. Somebody's buying it though because a second edition is coming soon.

Internet World 60 Minute Guide to Java, 2nd Edition
by Ed Tittle, Mark Gaither

Java!
by Tim Ritchey

Based on the alpha2 and alpha3 releases. Superseded by Programming with Java!

Java by Example, 1st Edition
by Jerry Jackson, Alan L. McClellan

Superseded by the second edition. The CD-ROM contains the Java Development Kit 1.0 for Solaris, Win32 and the Mac. It also contains all the examples, code and applets from the first editions of Core Java, Java by Example, Instant Java, and Just Java.

Java Database Programming With JDBC: Discover the Essentials for Developing Databases for Internet or Intranet Applications
by Pratik Patel

Java Developer's Resource
by Elliotte Rusty Harold

Covers Java 1.0

Java for Dummies
by Aaron E. Walsh

Not to be confused with the more useful Java Programming for Dummies, this book manages to spend 364 pages saying next to nothing. Frankly, only a real dummy would read 364 pages to learn what they can get from a few minutes on the web at Javasoft. Even if you aren't looking for information about programming in Java, this book is still useless. Perhaps the second edition is better.

Java Programming for Dummies
by David Koosis, Donald J. Koosis

This book has generated more negative email than any other book in this list. A lot of people really don�t like this book.

Java Secrets
by Elliotte Rusty Harold

The Java virtual machine, byte code, the sun packages, native methods, stand-alone applications, and a few more naughty bits.

Just Java, 1st Edition
by Peter van der Linden

Superseded by the second edition

PC Magazine Programming Java Applets
by Scott Fraize, Chris Laurel, Ryan Watkins

Special Edition Using Java with CDROM
by Edward Toupin

Does anyone know why Que's Using series is so popular? If so will you please explain it to me. I confess that I find virtually all of these books to be written purely by-the-numbers, and Using Java is no exception. It was tossed together by about twenty different authors of widely varying ability. Some chapters are fine. Some chapters are awful. I suspect at least one author was just rewriting material from Java Unleashed because he copied that book's mistakes too. The complete text is available online which is a somewhat redeeming feature though.

Teach Yourself Java in 21 Days
by Laura Lemay , Charles Perkins

According to Ms. Lemay �It's written for people with some experience in *a* programming language -- not real super-experts or rank beginners, but somewhere in the middle.�

Visual J++ For Dummies
by Michael Hyman

Visual J++ Unleashed
by Bryan Morgan

Superseded by the second edition

Other Good Books

Java's quite new. There are many books that will be useful to Java programmers that do not explicitly mention Java. All the books in this section are excellent books that I find myself making frequent reference to. However they are not Java specific.

Unlike the other lists, this list does not try to be comprehensive. It is a list of a few of the best books, not all the books available. Books are only added to this list if I actually possess a copy and have found it to be useful. Unlike Java books, I do not actively seek out books in this category. If you're a publisher or author and think your book might fit in here, I suggest you send me a copy. (Send email to find out where to send it.)

Algorithms in C++
by Robert Sedgewick

This is the best book I know about basic algorithms and data structures. I refer to it frequently.

Compilers: Principles, Tools, and Techniques
by Alfred V. Aho , Jeffrey D. Ullman, Ravi Sethi

The Dragon Book is the classic text on compiler implementation. To this day I remain amazed how many problems I encounter map closely to problems in compiling code.

Computer Networks, 3rd Edition
by Andrew S.Tanenbaum

Quite simply the best introduction to networks, computer and otherwise, available. (Disclaimer: I was paid to tech edit the Java section of this book.)

MBone Interactive Multimedia on the Internet
by Vinay Kumar

The Design and Evolution of C++
by Bjarne Stroustrup

A fascinating look at why C++ is what it is, for better or worse, by the man who invented it. Even though Java is never mentioned, this book should convince you that C++ and Java really are two very different languages.

The Mythical Man-Month, 20th Anniversary Edition
by Frederick P. Brooks, Jr.

Twenty years after its original publication, much of this book is seriously out-of-date. Nonetheless the fundamental theme of the book is as true today as it was twenty years ago. Writing code is the smallest part of a programming project. Therefore further advances in productivity must concentrate on other aspects of the software development process, e.g. analysis, design, documentation, and testing.

The Object Primer
by Scott W. Ambler

This is one of the better introductions I've seen to object-oriented analysis and design.

Tog on Interface
by Bruce "TOG" Tognazzini

The classic text on practical user-interface design.

Unix Network Programming
by W. Richard Stevens

The classic practical text on writing network software in C in the Unix environment. Much of the material is applicable to Java as well (though much isn't).


[ Cafe Au Lait | Mailing Lists | FAQ | Tutorial | Course Notes | User Groups ]

Copyright 1997-2000 Elliotte Rusty Harold
elharo@metalab.unc.edu
Wednesday, January 1, 2003 12:30:00 PM