I was looking for something a bit more advanced on Java development, particularly low-level stuff like threads or bytecode. A quick search on the topic on my Safari Books Online account gave me “Well-Grounded Java Developer” from Manning Books as on of the first results, and after skimming through the contents the position seemed suitable for my needs.
The book is written by two Java gurus from London Java community: Ben Evans and Martijn Verburg. These two are very experienced developers, which you can easily find out just searching for their presentations at YouTube. Having listened to a couple of them you know, that these guys know what they are talking about.
I was expecting a review of what an advanced Java developer should know, and that’s exactly what the book is all about. It starts with in-depth look at the new features of Java 7 with strong accent on the new IO (NIO2). Second part of the book is called “Vital techniques” and it covers JSR-style dependency injection and lots of low-level stuff, namely the concurrency done the modern way, the bytecode and a very soft introduction to Java performance tuning. Two last parts concentrate on Java as a platform, and present popular programming languages (namely Groovy, Scala and Clojure) for JVM and how to use them in rapid web software development.
Even though I have been programming in Java for almost 8 years, most of the stuff in the first two parts was relatively new. I obviously had taken a look at the new features of Java 7 before reading, but for the first time I found them all in one place. I’m looking forward for such a review for upcoming Java 8 release. The low-level stuff is on the introductionary level. It provides you bare minimum, from which you can start exploring much more.
I have mixed feelings about the polyglot programming. I had gone through the highly regarded Scala course two months before reading the book, so I just skimmed through the chapter. And the same with Clojure. Much more interesting was the presentation of the languages in the context of web development.
There is one thing I would probably like to see more in the book, which is reference to other works. When one presents the concurrency, it’s obvious that “Java Concurrency in Practice” will be referenced and there are probably not many better postions on the topic. When it comes to the bytecode and performance tuning, I have not really much idea, where should I go next.
The book was released in a short time window between Java 7 and Java 8. While the introduction to Java 7 features was really great, I am looking forward for such for Java 8. Overall, book is really worth reading, as it clearly shows a developer, where he should improve or which topics can he investigate a little more.
tl;dr: 4,5/5 stars.comments powered by Disqus