Did you know? DZone has great portals for Python, Cloud, NoSQL, and HTML5!

Alex is a programmer with special interest in Java, API design, testing and OOP. He is the creator of FEST, an open source project that aims at making testing of Swing and JavaFX user interfaces (and testing in general) easier. Alex is currently working at Google. The opinions expressed here represent his own and not those of his employer. Alex is a DZone MVB and is not an employee of DZone and has posted 39 posts at DZone. You can read more from them at their website. View Full User Profile

Beginning Java SE 6 Platform: From Novice to Professional

August 19, 2008 AT 2:51 AM
  • submit to reddit
I've been using Java 6 for a little more than a year now, and quite honestly, I haven't paid too much attention to the cool new features that this new version provides (with few exceptions, like SwingWorker.) Luckily, author Jeff Friesen provides a detailed guide to the new and improved features in Java SE 6.

The title of the book is a little bit misleading. Because of the inclusion of the words "beginning" and "novice," one would expect this book to be an entry-level one that teaches how to program in Java using its latest version. For my surprise, this book is not for beginners. It does not cover basic Java concepts (e.g. data types) or object-oriented programming. This book is intended for experienced developers with solid Java knowledge that want to learn what's new in the latest and greatest version of Java SE.

(I'm not going to list the chapters in the book. You can find a description of the book, table of contents, errata and source code at the book's web page.)

I'm amazed by the amount of detail that the author paid attention to. He not only covers what the new features in Java 6 are and how to use them, Mr. Friesen also also offers a lot of technical and non-technical facts that explains why these new features were included and why they were implemented they way the were implemented. The book includes plenty of links to articles, tutorials and bug numbers (from Sun's bug database.) It even includes little details like the expiration of one of Unisys' patents as the reason why Java 6 now includes a GIF writer!

Amazingly, the book also covers some of the features that were planned for Java 6 but unfortunately didn't make it. For example, it briefly talks about the JDBC 4.0 EoD Annotations, which were supposed to make data access very simple (BTW, I was really, really sad -to the point of crying- when I read the news about the exclusion of this feature back in October '06.)

I found the book very interesting and easy to read. The language used is clear and simple: I got a good understanding even of the areas I'm not familiar with (e.g. SPNEGO HTTP Authentication.) Also, each chapter includes a "Test Your Understanding" section, which includes several questions and exercises to, you guessed it, test your understanding of each chapter.

There are also one or two (minor) things I didn't like. First, code examples are way too long. Sometimes a single code example takes 2 or 3 pages, making the example more difficult to understand, especially when trying to match different levels of indentation (e.g. SwingWorker example at page 141.) I think this is not necessary, especially when only five to ten lines are the ones relevant to the topic being discussed. Instead, I'd prefer to see only those five to ten lines. If I wanted to see the whole example, I'd go to the book website and download the source code.

As I previously mentioned, the book is packed with references to online articles. Unfortunately, those links are present in the book but not in its website. I have to type URLs myself (which is error prone,) instead of clicking a link (I know, I know, I'm a whiner )

Overall, I really like this book. It is a complete guide and excellent reference to the new and improved features in Java SE 6. Highly recommended!

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)