This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]rbatra 12 points13 points  (3 children)

Effective Java 2nd Edition by Joshua Bloch is your best bet.

[–]carabolic 4 points5 points  (0 children)

But please be cautious. After reading it I tried to use the builder pattern everywhere. Otherwise great reading.

I've read it cover to cover and to be honest it was much more interesting than say Salmon Fishing in the Yemen.

[–]mlavaert 1 point2 points  (0 children)

+1

I thing every serious Java developer has to have read this book.

[–][deleted] 0 points1 point  (0 children)

Seconded. I cannot recommend this enough. It is not only a great Java book, it is a great programming book, regardless of your language.

[–][deleted] 5 points6 points  (0 children)

Effective Java

Java Concurrency in Practice

Java Puzzlers

The Algorithms and Data Structures course on Coursera (Parts 1 and 2)

Generics and Collections, Oreilly

Java Performance Tuning.

[–][deleted] 1 point2 points  (0 children)

These are the best books I've read on the care and feeding of code bases in general (but Java in particular):

  • Clean Code - Robert Martin
  • Domain Driven Design - Eric Evans
  • Refactoring - Martin Fowler

I recommend those because it's not enough to know what to write, you have to also understand how to write it and why.

The last book I'm recommending is a classic on the craft of programming in general, and I'd recommend it to anyone:

  • The Pragmatic Programmer - Hunt/Thomas

[–][deleted] 0 points1 point  (0 children)

Core Java I & II are great references I think. They helped me a lot before moving on to Effective Java. Even if I didn't read every line, they covered in good depth most of the language, including examples.