views:

306

answers:

8

I am well aware of this previous question here and have heard great things about those books. I actually bought two of them, Effective Java and Java in a Nutshell as an early Christmas present.

I am looking for a good Java book, or books, to further continue my understanding of Java from a recent college graduate point of view.

I have learned Java in college and would consider it to be the language I am most comfortable with. Can anyone recommend a good "intermediate" Java book for a situation like mine?

This question should be community, I just don't know how to migrate it. I apologize for any inconvenience. Thank you in advance.

+2  A: 

I would recommend:
Core Java (Volume I and II)

Edit: I liked the book for these reasons:
a. good concise explanation b. many self contained examples demonstrating the concept being explained c. Range of topics covered (Volume I and II cover lot of topics).

sateesh
Thank you, would you give insight onto any particular reason? Personal recommendation? If so, what did you like about the book?
Anthony Forloney
+3  A: 

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

Not a book for learning things like how Java works, but a good book on writing better code. Overall I agree with most of what the book has to say (well the 1/2 I have read so far). There are a few things I don't like, but generally speaking, if you follow the advice in the book you will become a better programmer.

The book uses Java, but the lessons are adaptable to any language.

TofuBeer
I appreciate the theory of Robert C. Martins' books, but the test code in this book is horrible. "Stuff everything into fields until your tests (test methods) are a perfect smoke screen." He's a near perfect writer and speaker but developer? Not so sure.
Thomas Jung
Not to gang on the *Code Complete* bus (which is another book I had in mind) but how would *Code Complete* rank in good books for writing good code?
Anthony Forloney
Who has time to read _Code Complete_ today? ;-)
Peter Štibraný
@Thomas I agree that the code in the book leaves something to be desired, but conceptually the material is sound.@aforloney I have the original code complete. Good book. I'd say that the two books are complementary. I like the approach that Clean Code takes more than the original Code Complete, cannot speak to the second edition.
TofuBeer
+6  A: 

I love the book Java Puzzlers co-written by Josh Bloch & Neal Gafter.

It deals with a lot of the edge cases and pitfalls of java and in doing so helps give you a greater understanding of the language and jvm.

Read it when it was released and re-reading it now.

Cheers,

slappybag
this book has been haunting the "my recommendation" sections in my Amazon application off my android phone, great suggestion.
Anthony Forloney
+6  A: 

Java Concurrency in Practice, you can't go wrong with this one. (Right after Java Effective, which you already bought ;-))

Peter Štibraný
+1  A: 

Just Java by Peter van der Linden. Lots and lots of in-depth Java knowledge, presented in an entertaining manner uncharacteristic of programming literature. A fun read, in other words, that leaves you with lots of new knowledge about Java.

Also suitable for beginners, but I think readers already conversant with Java will benefit more from the finer points.

Just Java

The latest edition has a car on the cover. Had some trouble getting a link to a picture of that one.

Carl Smotricz
Peter van der Linden's "Deep C Secrets" was a terrific, funny book, but I can't agree with this recommendation. "Just Java" was one of the very first books that came out after 1.0. Is this edition really worth it?
duffymo
Well, I bought the pictured edition and enjoyed it lots - and found it very useful. It's up to the 6th edition now and Amazon reviews indicate it includes J2SE 1.5, XML, JSPs and so forth. I see a publication date of 2004. So I'm not sure just how modern it is - but to me, a few more or less APIs wouldn't make or break its usefulness. But I do thank you for pointing this out - I had assumed it was current.
Carl Smotricz
+3  A: 

Acutally, you already have bought it!! effective java !! I think you must read effective java at least 3 times.

naisr00t
I plan on it. :)
Anthony Forloney
+2  A: 

Too bad you wasted your money on "Java In A Nutshell." I think it's largely a waste, since it reproduces so much of the on-line documentation in book form. I would not have recommended it.

I think your code and design skills would benefit more from something like Spring. I'd recommend looking at Spring In Action.

duffymo
+1 for dissing the Nutshell book; it has its place as a handy reference but not as a "must-read". -1 for hyping Spring, which is starting to look like a cult and not automatically the right solution for any/every problem.
Carl Smotricz
Surely, like any other tool, Spring is not right solution for every problem. But I think that learning Spring will help you to understand OO concepts at deeper level. (It was my experience anyway)
Peter Štibraný
Not hyping, not part of a cult. I agree with Peter - it's more about emulating their design: layering, interfaces, etc. You can learn a lot by looking at good code.
duffymo
+1  A: 
  1. Java Data Structure Online Course
  2. Java Passion
Rachel