Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

Learning Java

Learning Java

3.3 8
by Patrick Niemeyer, Jonathan Knudsen

See All Formats & Editions

This updated edition introduces the basics of Java and everything necessary to get up to speed on the new 1.4 version quickly. CD contains the Java 2 SDK for Windows, Linux and Solaris.


This updated edition introduces the basics of Java and everything necessary to get up to speed on the new 1.4 version quickly. CD contains the Java 2 SDK for Windows, Linux and Solaris.

Editorial Reviews

The Barnes & Noble Review
The Gartner Group estimates that well over 90 percent of all midsize to large application development organizations will be using Java technologies through at least the year 2005. They’d be focusing even more heavily on Java, but for one thing: not enough skilled Java developers.

Does this sound like an opportunity? It should.

If you haven’t learned Java yet -- or if you’ve given it a once-over-lightly but haven’t dived deeply enough to even mention it in your résumé -- seclude yourself with a copy of Learning Java, Second Edition. This polished O’Reilly title covers everything you need to start building significant applications with Java 2 Version 1.4.x.

Learning Java, Second Edition is actually in its fourth iteration: the first two were published under the title Exploring Java. Which means there’s been more time to shake out the inevitable errors, and refine the book’s enormous number of code examples.

With each iteration, however, the authors have done far more than fix errors and add new features (though plenty of new features are covered in this edition -- we’ll get to that.) They’ve also revisited the entire book, reflecting new approaches they’ve learned through experience (and abandoning older coverage that no longer seems relevant, such as client-side applet development).

Patrick Niemeyer and Jonathan Knudsen begin with an up-to-date discussion of both the original rationale for Java and how things are actually working out, several years on. You’ll learn how Java fits into the language bestiary; how Java seeks to protect you from shooting yourself in the foot (or allowing others to do it); and how Java has evolved.

Next, Niemeyer and Knudsen help you get your feet wet with some working code. They start with "Hello World" but iterate it three more times, giving you a first taste of a surprisingly wide range of features (from garbage collection and inheritance all the way to threads).

Once all this is under your belt, Niemeyer and Knudsen introduce Sun’s Java interpreter and compiler; and systematically introduce the framework of the Java language and many of its most important facilities (including useful new capabilities such as language assertions and exception chaining.

Next, they present a “crash course” in Java object-oriented development. If you’ve used C++, you’ll be reasonably at home here. (Though, as the authors note, it’s easy to overestimate the similarities with C++ -- they view Smalltalk a closer relative). If your experience tends more to VB, COBOL, or other largely non-object-oriented languages, you’ll find this coverage invaluable. Before moving on to Java’s API classes, Niemeyer and Knudsen demystify multithreading, helping programmers avoid the pitfalls that tend to make threading more complex and error prone than it needs to be.

The remainder of the book focuses on the Java classes you’re likely to encounter most often in day-to-day development. Some, like java.io, have been around for awhile; others, like java.nio (New I/O) are new to 1.4. While NIO was primarily designed to address issues of scalability in large systems, it contains several goodies you’ll want to know about even if you’re building only small applications.

Learning Java, Second Edition also introduces Java’s great new support for regular expressions; the new Preferences API, which simplifies the management of user and system configuration data; and the new Logging API for capturing information about security failures, configuration errors, performance bottlenecks, and application bugs.

The book includes extensive coverage (much of it new) of server-side development and web services. Among the topics covered: the latest version of the Java Servlet API (2.3); SAX, DOM, DTDs, XSL/XSLT, and the new JavaBeans XMLEncoder.

The accompanying CD-ROM contains all source code, plus a complete Java software library. There’s Sun’s Java SDK 1.4, of course, but also NetBeans 3.3.1, a powerful open source IDE for building Java (and other) software; Ant, Apache’s handy Java-based build tool (think “make” without the hassles); the proven Apache Tomcat server engine; and BeanShell, a lightweight Java source interpreter for quick Java-based scripting.

If you want to master Java, Learning Java, Second Edition will give you a running start -- and powerful momentum. Bill Camarda

Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

Product Details

O'Reilly Media, Incorporated
Publication date:
Java Series
Edition description:
Second Edition
Product dimensions:
7.10(w) x 9.24(h) x 1.52(d)

Meet the Author

Patrick Niemeyer became involved with Oak (Java's predecessor) while working at Southwestern Bell Technology Resources. He is an independent consultant and author in the areas of networking and distributed applications. Pat is the author of BeanShell, a popular Java scripting language, as well as various other free goodies on the Net. Most recently, Pat has been developing enterprise architecture for A.G. Edwards. He currently lives in the Central West End area of St. Louis with various creatures.

Dan Leuck is the CEO of Ikayzo, a Tokyo and Honolulu-based interactive design and software development firm with customers including Sony, Oracle, Nomura, PIMCO and the federal government. He previously served as Senior Vice President of Research and Development for Tokyo-based ValueCommerce, Asia's largest online marketing company, Global Head of Development for London-based LastMinute.com, Europe's largest B2C website, and President of the US division of DML. Daniel has extensive experience managing teams of 150+ developers in five countries. He has served on numerous advisory boards and panels for companies such as Macromedia and Sun Microsystems. Daniel is active in the Java community, is a contributor to BeanShell, the project lead for SDL, and sits on numerous Java Community Process expert groups.

Customer Reviews

Average Review:

Post to your social network


Most Helpful Customer Reviews

See all customer reviews

Learning Java 3.3 out of 5 based on 0 ratings. 8 reviews.
Guest More than 1 year ago
There are plenty monumental epic efforts in the field of Java teaching which would start from showing you PDP-11 pictures, and go long distance explaining how hard-drives and memory chips used to look & work when the author was in his prime. Around page number 250, you might encounter a first notion of a JFrame (unless you got completely bored and took off to a nearby coffee shop.) Jokes aside, if you want to learn Java, this book is a 'must have' title. Honest (!) and crystal clear explanations (albeit, yep to some limited degree it would help if you knew C, however C-related experience would help with any Java book.) It is obvious, that authors have tremendous direct programming experience. This book will really help you become knowledgeable Java guru. It is fun to read too. I would strongly recommend it.
Guest More than 1 year ago
[A review of the 3RD EDITION 2005.] If you're learning Java from scratch, you might as well start at the latest version 5.0. But Java has grown hugely since 96. The book's size directly reflects that growth. Even so, the authors had to make the decision to explain only what they consider to be the minimal set of core classes. Their choice seems spot on. Spanning such key topics as I/O, Swing, Applets and Threads. To get best use of the advice, you should be familiar with object oriented programming from another language. The chapters are well written, but can be opaque to one who has never programmed before. Plus, there are no problem sets. This lack can be awkward to some readers. What isn't covered? Advanced functionality like Enterprise Java Beans and JMS. And internationalisation is barely mentioned. Mostly to do with using resource bundles. But no discussion about display issues of bidirectional text, for example. Related to this is just a glancing explanation of Unicode. American readers might say, so what? But readers who might have to code for non-European languages will find the book deficient. Yet, to be fair, the book is long enough as it is. While it is easy to describe what was omitted, the authors have made quite reasonable decisions about coverage.
Guest More than 1 year ago
Starts off on the wrong foot with a multitude of unexplained terms/concepts that 'will be discussed in a later chapter.' One gets the sense that the authors are knowledgeable, but can't quite figure out how to explain the language in a coherent, logical sequence. There's a building, see, and it's a wonderful building. And it has a door that is just a fantastic door. And, oh yeah, there are stairs to get to the door but we'll explain that later. So, anyway, about the windows...
Guest More than 1 year ago
This textbook does a good job of explaining the rules of Java, and all of the examples work in the Net Beans compiler that is provided on the CD that comes with the book. However, when you try to incorporate any of the java applet class examples into an HTML or XHTML file with the recommended element: [APPLET], which, by the way, is deprecated, you receive a 'Loading Java Applet Failed' message in IE, and an 'Applet ExampleApplet notinited' message in Netscape and FireFox. This happened to me when I used the simplest example applet contained in chapter 2. The introductory section of the textbook does not tell you about the business with how the Java interpreter deals with proxy servers -- don't even go there -- you may hose your browser, and maybe your system if you do. You have to go to a separate Sun website to find out how to use the [object] tag, which the W3.org has deemed to be the favored way in which to include class applets for Java. When you have made effort to find out how to use the [object] tag, it is much more complex than the [applet] tag by orders of magnitude, and there is different XHTML coding with the [object] tag for IE versus Netscape!! Is this book worth you money? Maybe it would be if you owned a fully tricked out 3,000 GHz Sun Workstation with 5,000 terrabytes of RAM, and 10,000,000 terrabytes of storage space. The java applets are real memory hogs, and do not load fast at all. My verdict? Save you money and learn more about XML and XHTML JavaScript and CSS -- these technologies have a plug and play receptiveness and they work right out of the box.
Guest More than 1 year ago
Learning Java by Patrick Niemeyer & Jonathan Knudsen is one of the best Java books I¿ve read. Most aspects of Java are covered chapter by chapter in chronological order. This is a good book for beginning programmers trying to learn Java or more experienced programmers learning a second language. Everything you need to write Programs and run your code is included with the book. A complete version of J2SE SDK 1.4 is on the CD in the back of this book. I would certainly recommend Learning Java to beginning as well as intermediate programmers.
Guest More than 1 year ago
Save your money on the other Java books! I have dog-eared Savitch, Eckel and Deitel and none are fit to hold Pat Niemeyer or Jonathan Knudsen's applets. This book describes 'all' of Java's tiny details in a wonderful progression and in a stylish manner. This is a great book.
busterAH More than 1 year ago
my copy was written in Ge,man and I don't know Ger,man BUMMER
Guest More than 1 year ago
After reading previous reviews, I thought this would be a good book for a programmer to learn java. The first chapter of the book is like JAVA propoganda. The second starts giving you programing examples. This is when you learn that JAVA is just C Code that does have an integrated IDE and needs a special runtime to work. Java Script on the other hand is actually useful