Jump to ratings and reviews
Rate this book

Learning Java (Java Series) by Jonathan Knudsen

Rate this book
bThe Barnes Noble Review/bbrThe 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 not enough skilled Java developers. pDoes this sound like an opportunity? It should. pIf 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 iLearning Java, Second Edition/i. This polished O'Reilly title covers everything you need to start building significant applications with Java 2 Version 1.4.x. piLearning Java, Second Edition/i is actually in its fourth the first two were published under the title iExploring Java/i. Which means there's been more time to shake out the inevitable errors, and refine the book's enormous number of code examples. pWith 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). pPatrick 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. pNext, 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). pOnce 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. pNext, 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. pThe 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. piLearning Java, Second Edition/i 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. pThe book includes extensive coverage (much of it new) of server-side development and web services. Among the topics the latest version of the Java Servlet API (2.3); SAX, DOM, DTDs, XSL/XSLT, and the new JavaBeans XMLEncoder. pThe 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. pIf you want to master Java, iLearning Java, Second Edition/i will give you a running start -- and powerful momentum. iBill Camarda/ipiBill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include/i a href=" Edition Using Word 2000/a iand/i a href=" Fixing Networks For Dummiesreg;, Second Edition/a.

Mass Market Paperback

First published May 1, 1996

47 people are currently reading
279 people want to read

About the author

Patrick Niemeyer

14 books4 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
38 (18%)
4 stars
84 (40%)
3 stars
67 (32%)
2 stars
13 (6%)
1 star
5 (2%)
Displaying 1 - 14 of 14 reviews
Profile Image for Damien Buren.
6 reviews6 followers
November 3, 2019
I wanted to love this book, but I just liked it. The book wasn't a bad read, but it didn't fit my needs.
Profile Image for Ed Limonov.
13 reviews
September 14, 2019
Magnificent guide to any level developer. Doesn't matter if you have one motnh or twenty years development experience in any language. This book always has something to add yo your skills and your everyday writing style. Just read it, you won't lose.
Profile Image for Julio Biason.
199 reviews29 followers
August 3, 2018
I once said that it's not just the matter of wanting to learn something, there is also the matter of wanting to teach.

The problem here is that the book doesn't seem interested in the second.

I mean, sure, it's nice that you go through all the classes, but... is it necessary? Is this teaching? Not to me.

Either focus on how things work and how to pick things, but going over and over and over over everything is tiring and not helpful. Not to mention there is a lot of things said twice (or even more), which seems focused on making the book bigger, instead of making things clearer.
Profile Image for Chris Seltzer.
618 reviews3 followers
June 8, 2020
Ultimately this book needed a refactor. It covers topics in a surprising way (threads before strings?)

It also tries to be comprehensive which is near impossible for a print book with a language this large. The result is a hodgepodge of topics of different granularity leaving the reader without a good sense of their importance in the programming community.
Profile Image for Andrew.
148 reviews7 followers
July 20, 2017
This is an excellent text. I learnt a lot about Java in the first 200 pages, but in the end I found reading about each library, without the seasoning of a real project, too much. So this is one book that I am marking as read that I have not literally read from cover to cover
Profile Image for Matthew Lachkovic.
116 reviews2 followers
December 8, 2023
Decent book for reference, especially if you are brand spanking new to Java. Content and exercises are a bit repetitive and don't add much after some time. Maybe check this one out from the library or borrow from a friend, rather than buying it.
Profile Image for Rob.
Author 2 books441 followers
August 27, 2014
Short version of what may turn into a longer review:

Overall a good introduction to the Java language and its standard library. I quipped throughout that the book was as verbose as the language, but this is a good-natured jab, especially considering that the authors have done an excellent job in organizing and presenting the material, and in showing good concrete examples.

The book itself covers Java through version 1.7. One of the things that I really appreciated about the text (and have seen mentioned in many other reviews) is that it is not a guide to basic syntax or computer programming fundamentals. There's an assumption coming in that you already know about variables and if statements and for loops etc. They're only talking about things that are specific to Java so as to help you learn idiomatic Java. They also build a really strong case for why Java is a "good" or "productive" language, taking the time to talk about its philosophy, the language design choices, and other underpinnings (e.g., JVM bytecode) -- helping one to understand the why of Java and not just the how. (There's also a pretty sweet glossary in the back to help you get through some of the language's more arcane keywords.)

What didn't I like? A couple things jump out:

(1) Better coverage of the JVM eco-system. I realize that the book is about Java (the language itself) and not "the JVM", and I realize that the book is already 1010 pages long but I could really have used a little more about "the JVM eco-system" and less about Swing. Again, I get it: Swing is part of the core Java platform, and things like Groovy and/or Tomcat are not but... still. I don't know anyone programming in Swing, and we got basically half a chapter on servlets. Maybe that's all it needs but it seems like the biggest part of Java these days is "JVM eco-system" and not "Java by itself".

(2) More on garbage collection. Maybe I'm expecting something too low-level here but we got about... 4 pages (?) worth of coverage on GC. And what we got was basically just an explanation of what GC is. I'm as in the dark as ever about the actual GC settings, Eden, Young and Perm gen, survivors, etc. And "heap" doesn't appear in the index at all?

So I guess... a few more things at the high-level? and a little bit more at the lowest-levels? The former is definitely an expectation on my part that the book doesn't even promise to fulfill, but would have been nice to see a bit more of (though it does have pointers to good resources); the latter just seems like the editor came through and said "let's not go there".

All in all? A worthwhile book for learning the language (if you already have a solid programming and/or CS foundation), and it provides a good layer of "why Java" on top of "how to Java", but expect to use it as a springboard for further learning depending on where your work Java actually takes you. I would recommend it to any competent developer that's looking to add Java to their toolkit.

----

PS - So. Much. Swing. 3 chapters... 148 pages of it. And plenty of references to it in the 2 chapters that follow. And then a chapter on applets. Who does this anymore?

PPS - JavaBeans chapter winds up feeling like tautology. ("The following bean class example is considered a bean because it follows the bean class paradigm." Yay!)
Profile Image for Louis.
228 reviews32 followers
August 17, 2013
I remember using an earlier edition of this book to learn Java many years ago. I even used Java for writing simulations as part of my thesis. Since then, since I generally do scientific and technical computing, I have generally used Python and R linked with C, C++, and Fortran libraries instead of Java. But I have used languages on the Java Virtual Machine (Jython and Clojure) and I probably need a refresher on how the JVM works. This book does give a good overview of all of the scaffolding that goes along with programming in Java, but its focus on the language proper and web and GUI programming in particular leaves me wondering how to get real things done with it.

The first part of the book is what seems to be the standard first chapter of almost all programming books nowadays, a argument of why to use Java. While some things like the safety aspects of the JVM ring true, when he talks about the various dynamic languages he gets some basic facts wrong and mis-characterizes how these languages are used in practice. It would have been better if he did not include these sections at all because he frankly started loosing creditability here. (coming from Python, the general line is that Python is at its best as part of a two language solution, and Java is on the list of likely languages to pair Python with along with C, C++, and Fortran.)

Next are several chapters on setting up your machine to develop and run Java. And several chapters are required. I found many things that I often have to spend several hours looking up whenever I start or deploy a JVM based project so I'm glad that someone realized that this really needs to be in the beginning of an introductory Java book. Things like IDE's, setting up classpath and other environmental variables, and the whole java toolchain. While I applaud that this is required, it somewhat gives a lie to the idea that Java is a simple write one run everywhere tool.

The rest is a tour of the Java language. Data types, statements and expressions, exceptions, assertions, classes and objects. I was specially interested in the discussions on Generics and Threads, as I had not used them before. It could be that I'm spoiled by how Python handles the equivalent of Generics, and both Python and R multi-core libraries, but this seemed very detailed and complex (not helped by Java seeming to require that everything be declared in duplicate).

Despite the title, this felt like more of a reference than a tutorial. Having several chapters on setting up the scaffolding that is needed for every Java project is something that some places seem to gloss over as easy (especially if the IDE does it for you), but makes this book a handy reference. But in the advertise role of learning how to use Java, I'm still skeptical.

Disclaimer: I received a free electronic copy of this book through the OReilly Blogger program.
Profile Image for Christopher Basinger.
1 review2 followers
August 13, 2016
This books covers everything. I skipped out on the Swing chapters so I can't speak on those. The author did the best job I have seen so far in regards to explaining inheritance, polymorphism, and class design. He does a great job with File I/O and data streams and since this is the new edition he also appended an interesting section on the new java.nio package working with channels. I read the popular "Core Java" book before this one and came to this to get a different authors explanation in object-oriented programming with Java. I really felt like this one did a better job but I won't discredit "Core Java" as it was a solid book. I think this is a superb Java reference book that I will be referring to constantly in the future as I do that quite frequently as of today.
6 reviews
June 28, 2013
Learning Java (Fourth Edition) is book for Java practitioner as reference book. This covers lot of topics.

This is an excellent book for someone who knows basics of programming. This book is not beginners. This book lacks examples and exercises which may disappoint few people.

Book has 24 chapters covering almost all of basic Java. The chapter one talks about historical aspects. Second chapter is brief introduction of java but it assumes that reader is aware of programming, OOP, threading etc which is difficult for any beginner.

The detailed review is at http://architecture-soa-bpm-eai.blogs...
Profile Image for Rob.
566 reviews11 followers
February 4, 2014
More pedagogical explanation than tutorial, Learning Java's light touch and lucid writing does a good job of refreshing Java into the mind of one who once knew it better. I went with the edition that covered Java 5, as that seems to be the version of the IDE that the Android ADK is locked in at. I would not recommend this book as an introduction to programming--it is only suitable for those already fluent in programming who want to acquire Java proficiency.
Profile Image for Troy Swinehart.
79 reviews1 follower
February 26, 2016
Part of my skills recovery plan.....I could not believe how into this book I got. Really enjoying thinking about old concepts in new ways. And years later I find myself wondering why I thought some of this was so hard to comprehend. Guess that's what happens when you are learning in the middle of a language being created.
Profile Image for Daniel.
17 reviews2 followers
July 4, 2012
Excellent book.

Complete book about java tecnhology.


Displaying 1 - 14 of 14 reviews

Can't find what you're looking for?

Get help and learn more about the design.