Favorite Java resources
Ted Neward is looking for the best Java resources so I figured I would answer in blog form, since that’s how I roll.
Books
If I ran into a Java programmer that needed to kick it up a notch I would recommend the following books as three to grow on. Any Java head working today is doing themselves a disservice if they haven’t read these.
- Effective Java (2nd ed) by Bloch – more useful Java advice than you’ll find in any other shelf of books
- Java Concurrency in Practice by Goetz et al – great freaking book not just on the Java concurrency libs but on concurrency in general
- Java Generics and Collections by Naftalin and Wadler – excellent overview of both topics
Web resources
There are of course a near-infinite number of these but here are some that I actually use which probably says something. These are in no particular order.
- Angelika Langer’s Generics FAQ – a scary tour de force answer to every generics corner case and question
- Bill Pugh’s Java Memory Model page – many many fine links
- Doug Lea’s home page – a great resource for many Java and concurrency related links
- JSR 166 home page – ongoing work on the Java concurrency libs
- Java 7 page – I’ll humbly submit my own Java 7 page and the linkblog referenced within as the best way to stay up to date on Java 7 related topics
- Java Specialist’s newsletter
- Java Black Belt – Java exams
- Lazy initialization of map values – a highly unknown but useful summary from Doug Lea
- JVM Option list – excellent summary
- JVM -XX options – even more completer :)
- JavaLobby / JavaZone
Mailing lists
Much useful discussion occurs on mailing lists these days, slightly out of the over-exposed and touchy blogosphere. Some of my favorites:
- jvm-languages – implementation of various languages on the JVM
- javamemorymodel – obviously discussion of the Java Memory Model
- concurrency-interest – Java concurrency discussion
I won’t even try to touch on tools or frameworks as that would be suicide. Hope some of the above are interesting to others.

Hi! My name is Alex Miller and I live in St. Louis. I write code for a living and currently work for
> Effective Java (2nd ed) by Bloch
Do happen to know the differences between 1st and 2nd edition?
Josh Bloch himself summarizes the differences here http://www.infoq.com/articles/bloch-effective-java-2e
I agree on the books! I’ve read all three and they really helped me improve my coding style.
*Shameless plug*: jarpit.com … A linkblog, colleagues and I created to share our findings. Very simplistic: no voting, no blinking features, just links and comments. Take a look, would like to hear your feedback ….
It’s a very nice and flattering surprise to see JavaBlackBelt listed in such company. Thanks!
I would like to mention a new search engine for JAVA developers. This search engine uses Google Custom Search Engine technology to provide dramatically improved search results for software developers working on JAVA, J2ee, Spring, Hibernate and other JAVA technologies. It searches only the best of sites having quality JAVA related content.
http://tips.developersvoice.com/javasearch
Try it yourself it is a great time saver. Don’t forget to add this search engine to your favorites.
Developers usually waste lot of time searching on Google. For example if you search RSS on Google you get lots of result and most of them are not useful for software developers. But on http://tips.developersvoice.com/javasearch, you will see results specific to software development.
This search engine represents a new paradigm for JAVA software developers to learn new technologies and discover existing solutions to problems.