tags:

views:

1111

answers:

13

Duplicate:

Best Java book you have read so far

I consider myself as an intermediate to advanced level Java programmer. I am looking forward to buying some books to enhance my current knowledge in Java and programming in general. What would your recommendations be in these areas?

For Java, I heard about Effective Java being pretty good and it is actually in my current shortlist. Any others?

For general programming techniques, I already have the book on Design Pattern by Erich Gamma and am looking for something else that is similarly useful.

Thanks!

+6  A: 

Java specific

  • Java Concurrency in Practice
  • Java Power Tools (You should know these tools)
  • Test Driven: TDD and Acceptance TDD for Java Developers

Software engineering in general

  • Code Complete: A Practical Handbook of Software Construction
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • User Stories Applied: For Agile Software Development (Addison-Wesley​ Signature Series)
  • Clean Code by Robert C. Martin
Adeel Ansari
+1 for "Concurrency in Practice" alone.
duffymo
+1 for "Test Driven". Best tech read I've had in a long time
MrWiggles
+1  A: 

Here are a few ideas for more advanced / interesting books, none of these are really language specific:

Programming Pearls

Pragmatic Programmer

Code Complete

Patterns of Enterprise Application Architecture

Steve Haigh
+5  A: 

I think this has been more or less covered here:
Best Java book you have read so far

And also:

I am looking forward to buying some books to enhance my current knowledge in Java and programming in general. What would your recommendations be in these areas?

As for programming in general, that has been even more thoroughly covered here:

Personally I would recommend that you start with Effective Java, 2nd ed, Refactoring, and The Pragmatic Programmer, and take it from there.

Jonik
+1. Same thing, I was planning to do at first. Then it seemed like lot of work.
Adeel Ansari
I've been reading these popular book questions lately and remembered their names approximately, so it was quick to find them from http://stackoverflow.com/questions/tagged/books :-)
Jonik
Ah.. fair enough.
Adeel Ansari
+1  A: 

Besides "Effective Java" that it's indeed the must-have book (it should not only on your short-list, but on nr. 1), you should consider the SCJP exam.

The book "SCJP Sun Certified Programmer for Java 6 Study Guide" will prepare you for the exam and at the same time consolidate the knowledge you already have. Consolidating existing knowledge (and expand it when needed) make advanced topics easier to learn. If you are advanced enough this step won't take much effort.

A: 

http://www.greenteapress.com/thinkapjava/ "How to think like a computer scientist" using java.

Masse
+2  A: 

Thinking in Java is one of the best for java :)

lfx
A: 

Here is my list for any Java Programmer

Thinking in Java

Effective Java

Concurrent Programming in Java: Design Principles and Patterns

Java Puzzlers

Inside JVM

Adi
A: 

Practical API Design: Confessions of a Java Framework Architect

Aries McRae
+1  A: 

I agree with nxadm, the "Sun Certified Programmer for Java 6 Study Guide" is one of the best reads. Even if you don't go into every tiny little detail.

Even though it's not a read, I would also recommend doing javablackbelt.org tests so you see in which field you could use an extra lesson and then find a good book/chapter on it.

Nico Heid
A: 

I thought "Teach Yourself Java in 21 Days" was pretty helpful even for intermediate programming. I use it for more of a reference when I don't have the internet handy.

aintnoprophet
+1  A: 

Have you read the Java Language Specification? I think its a most useful book especially once after you've got the hang of the basics.

Nikhil Kashyap