Java Book Reviews for Nerds

Java Book Reviews for Nerds

My book reviews section is a different from what you typically see, I only list and review books that are worth reading. All the books reviewed here are sitting on my bookshelves.

What about the books that suck?

I come across many stinkers, to be sure. I just spare the authors the criticism and you the time – why talk about a crappy title?

Java and J2EE


I came to this book having never looked at Spring, AOP and IoC before. The book starts off with a whirlwind chapter where you are given a crash course on what Spring does for you, complete with simple examples in code.

By the end of chapter one you learn the basics of:

  • The Spring framework and how its’ pieces fit together
  • How Spring compares to other frameworks like EJB, Hivemind et cetera.
  • AOP – what Aspects are, and how Spring utilizes them.
  • IoC – what Inversion of Control is, and how Spring uses it.

This is simply a great chapter! In just a few pages, you are given a good overview of so many things that are now important in the Java world. This first chapter sets the stage for the rest of the book.

As you would expect, the rest of the book jumps into the details of using Spring:

  • Wiring beans
  • Creating aspects
  • Hitting the database
  • Managing transactions
  • Remoting
  • Accessing enterprise services
  • Building a web layer

Et cetera.

I am not going to rewrite the book here but I can say that this is probably the best Manning title I have read to date. It is well written and structured; if you want to learn Spring, get this book. If you want to learn how aspects and IOC works, get this book.

Stefan Mischook

JUnit in Action

I think this is an essential guide for intermediate level Java programmers who want to learn how to build J2EE application properly. JUnit In Action introduces JUnit in way that is clear, simple and fun … the best I have seen thus far.

Besides introducing you to the JUnit framework, you will learn how to create good software test and see how JUnit can be used to express tried and true design patterns. The book actually goes into detail about using mock objects and stubs, further expanding your understanding of basic software designs.

There is much more about this book than I am listing here, needless to say I highly recommend it.

JDK 1.4 Tutorial

Not for the beginner, this book covers some of the key additions to the Java programming language that I think most programmers will find useful. I personally liked the discussions on logging and assertions. Each topic is well presented in a detailed manner at the beginning of their respective chapters; we are then presented simple examples to help further clarify the topic at hand.

My only problem is that it may be a bit dated (published 2002) given that the new JDK is due out fairly soon. But JDK 1.4 is not going anywhere, so this book will probably be a worthwhile read for at least a couple of years.


This is truly one of the hidden gems in the Java book world. Targeting the middle of the road Java developers who want to go to the next level.

In a clear easy to understand language this book presents the following Java API’s:

  • Jsp and Servlets
  • JDBC
  • RMI
  • Design Patterns
  • Exceptions and Debugging
  • JavaMail
  • JNDI

… and many other areas of interest to all Java developers. This is simply a great book and should be on the shelves of every Java developer, as it is on mine.

Heads first Java

A great book for beginners! With the heavy use of images and an interesting learning style based on psychological studies, this is one of the best books for anyone wanting to learn Java and object oriented programming in general.

This book covers a wide range of Java technologies in a very approachable manner that surprised me. Instead on boring math-based examples, the reader is taught Java while building a Swing based application sound sequencer and chat application!

Java Cookbook 2nd Edition

A simple title and a simple book; in depth coverage of the core Java API explored via terse (but useable) code examples coupled with thoughtful explanation.

How is this book different than say Java in a Nutshell or other API driven books?

Though the book covers the API and is loosely structured according to the API (java.lang, et cetera) it very much task oriented where section titles are so named.

For example:

  • Finding today’s date
  • Resizing an Array
  • Checking whether a string is a valid number
  • Connecting to a JDBC database

It is easy to quickly find what you are looking to do, making the book an excellent desk reference, especially for forgetful programmers such as myself!

I also like how in the author’s discussions he looks alternative methods of doing things considering advantages and disadvantages and even sometimes a little history related to the subject at hand is lightly perused. This (for me) gives the writing a little more flavor than your typical book on programming.

A great book for experienced Java programmers. Covers JDK 1.5


O’reilly keeps putting out good books, and now they are getting thinner and easier to read too! This book is about 300 pages and written in a personal manner – it doesn’t feel you’re reading a white paper.


  • For intermediate level developers.
  • Written from a real-world Java programmers’ perspective.
  • Concise writing style.
  • Author injects his opinion – a good thing!

The stated goal of the book is to raise junior-level programmers to the next level by introducing some of the finer points of Java. It does a good job in terms of the subjects it covers and in the author style of writing – it’s an easy read.

Some of the topics covered:

  • Exceptions
  • Data Modeling
  • Reflection
  • Immutable Object creation


The ‘A Developer Notebook’ series are thin books (about 200 pages) with highly targeted subjects; this book is all about the very popular persistence engine Hibernate.

Again, this is a concise well-written book that gets into practical use of the technology quickly. There is some theoretical discussion and background information but this is kept to a minimum.

What I liked best about this book is the ‘How do I do that’ section found in each chapter. It is a good way to get to the meat of the chapter without having the flip around for it …

This is a great book to read on the train and a great book to have around when you are starting out – just in case you forget how to do something.

That’s it; long-winded books are boring and long-winded book reviews are even worse!


This year O’reilly has come out with two outstanding series of books:

  1. The ‘Head First’ series – targets beginners.
  2. The ‘A Developer Notebook’ series – targets experienced programmers.

The ‘A Developer Notebook’ series are thin books (about 200 pages) with highly targeted subjects; this book is all about the new features of Java 1.5.

What makes this book different?

  1. Code intensive – just enough theory to set the stage, then it’s all code with minimal comments.
  2. Task oriented, not specification oriented. It’s clear that the authors are looking to get to the ‘how’ and the ‘why’ as quickly as possible.

The book is snappy but not so much so that it leaves you wondering about things. There is just enough discussion that makes the information easy to take in.

If you know Java and want to learn about 1.5, this book is great.


Let me first start off by saying that I am going to be very biased when it comes to any book with this point of view – I believe Java development has gotten way to heavy for practical programming.

Enough with my opinion, how about the book! It’s good for several reasons:

  1. The author speaks from experience, not ivory tower mental dalliances.
  2. The author gets to the point quickly.
  3. The book targets key topics in Java today: persistence and architecture.

Early on in the book (page 11) the author introduces his ‘five principles for fighting the bloat’ – in Java. These principles are the foundation for his discussions throughout the book.

His five principles are:

  1. Keep it simple
  2. Do one thing and do it well.
  3. Strive for transparency.
  4. Allow for Extension.
  5. You are what you eat.

You’re going to have to read the book to get the details … it’s worth it.

Book outline:

The first chapter presents the problem; Java’s bloated state – think EJB. The next 5 chapters go into details about the five principles, and how they can be leveraged to address the bloat problem.

In these first half of the book you’ll find concise code examples to support these discussion heavy chapters – very interesting though, since this is not a book about theoretical nonsense, it’s about real-life Java.

The rest of the book gets into meatier examples where a couple of applications are built and we also find discussions of two popular open source projects – Hibernate (POJO based persistence) and Spring (an AOP framework).

A good book for experienced Java programmers – not a beginner’s book.

© 1996 -
Fatal error: Uncaught Error: Undefined constant "Y" in /home/killersi/public_html/bookReviews/java-books.php:326 Stack trace: #0 {main} thrown in /home/killersi/public_html/bookReviews/java-books.php on line 326