Ask HN: Good Java books for aspiring Clojurians?

28 points by rbxbx ↗ HN
I feel I would be much more effective in Clojure (and consequently, the Java ecosystem) if I spent some time with Java, or were at least more familiar with it. With the wealth of Java books, it is a bit intimidating to choose one...

So HN: What would be a good Java book for a Clojurian with a solid OO background, but no Java experience?

18 comments

[ 3.5 ms ] story [ 50.1 ms ] thread
Effective Java (2nd Edition) by Joshua Bloch: http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/032...

It's not for beginner Java programmers, but if you have experience in other similar programming languages you may get away with it.

Awesome, there's a copy of this on the bookshelf at work.

Will report back with it's friendliness(or lack there of) to beginning Java devs.

(comment deleted)
I'm not sure I would agree. "Effective Java" is a great Java book and absolutely recommended reading to know more Java. However, many of the tips provided are meant to address Java-specific foibles -- most, if not all, are addressed by using Clojure in the first place.
You are probably right. I guess the OP is trying to learn more about the Java ecosystem, rather than simply the language per se. In that sense, your comment about Maven and Classpath is most likely spot on.
There are probably more than my recommendation of the Goetz book. Most of the topics that will be relevant from a Clojure perspective boil down to (in no particular order):

- Classpath

- Classpath

- Swing API calls

- Classpath

- Maven

- Exceptions

- Interfaces

- Primitives

- Arrays

- Collections framework

- and Classpath

Did I miss anything?

(comment deleted)
These are the main issues that have caused me pain in my usage of Clojure, so you're fairly on the mark. Some of the issues lend themselves to google more than others, but it would be nice to have some sort of tome (in preferably less than 800 pages, but perhaps that is asking for too much).
There must be one out there in the sea of Java books, but if there is I have yet to encounter it.
You missed Classpath :P
In addition, can anybody suggest something more along the lines of Jeffrey Richter's CLR via C# for the JVM/Java? CLR via C# covers a wide range of topics about how garbage collection, threading, appdomains, etc. work under the CLR using examples from C#, which I think would be more useful for learning what you need to know about Java and the JVM than your typical Java programming book.
Java Puzzlers. It's a fun book that teaches you to really understand the language by making you deal with its corner cases. Highly recommended.