Which Java book do you think is the must-have one for all Java developers?
Keep in mind:
- One book per answer
- Check for duplicates before adding new answers
|
feedback
|
This question came from our site for professional and enthusiast programmers.
This question is not a good fit to our Q&A format. We expect answers to generally involve facts, references, or specific expertise; this question will likely solicit opinion, debate, arguments, polling, or extended discussion. See the FAQ.
|
Effective Java, Second Edition by Joshua Bloch. No question.
If every Java developer read this book, there would be a lot less broken code in the world. After that, I'd read Java Concurrency in Practice (see separate answer), and maybe Java Generics and Collections (see separate answer). Anyone that reads and puts into practice the information in these three books has come a long way toward mastering Java. Comments from duplicate "Effective Java" answers: "I sure wish I had had this book ten years ago. Some might think that I don't need any Java books, but I need this one." sammyo: It's a thin(!!) volume that focuses on real issues and how to think about the right approach to java problems. (as opposed to a listing of API methods) Hans Doggen: First edition of Effective Java and then the second edition, to see some of the ideas that changed over time. | |||||||||||||||||
feedback
|
|
Thinking in Java by Bruce Eckel
Comments from duplicate answers: prash: Thinking in Java by Bruce Eckel is a great book for beginners and teaches you not only the "What"s and "How"s of Java but also the "Why"s. It is available from the above link. Michael Easter: It is an introduction and yet discusses the background behind Generics, Swing, elementary threading, and a large metaphor for Java NIO. It is a massive work that covers the range from beginner to expert. There are other books that are better for experts but would be wasted on novices. | ||||
|
feedback
|
|
When it comes to multithreading, Java Concurrency in Practice is the choice.
| |||||
feedback
|
|
Head First Design Patterns - not necessarily a pure Java book, but essential for every Java developers who designs his applications himself.
| |||||||||
feedback
|
|
Java Puzzlers is another great one by Joshua Bloch (with Neal Gafter).
The entire content of the book is just small Java applications that are quirky enough that they don't necessarily behave how you might immediately think. | |||||
feedback
|
|
| ||||
|
feedback
|
|
Refactoring by Martin Fowler
Especially the chapter about Bad Smells in Code should be understood by everyone. | ||||
|
feedback
|
|
Java Programming Language is a good way to learn Java. I would highly recommend it.
| |||||
feedback
|
|
Core Java Vol 1 and Vol 2 by Cay S. Horstmann. Hard to read but very informative and without excess words. These books cover every aspect in Java SE. But this book will be a little hard for beginners IMO. | ||||
|
feedback
|
|
O'Reilly's Java in a Nutshell is a good book for both tutorials and reference.
| |||||
feedback
|
|
Java Language Specification (also freely available online) is great if you want to get deeper into the semantics of Java language.
(Links and comments above merged from a duplicate answer by folone.) | ||||
|
feedback
|
|
Java Generics and Collections by Maurice Naftalin & Philip Wadler. Philip Wadler is one of Java generics grandfather. Java is close enough to C++ that it wasn't a big deal at all for me to switch over, that was until I started using Generics. This book is a gold mine of info.
| ||||
|
feedback
|
|
| |||||||||
feedback
|
|
Filthy Rich Clients, by Chet Haase and Romain Guy. Those guys are Swing ninjas. | ||||
|
feedback
|
|
If you want to understand, how it all works, The Java Virtual Machine Specification (also freely available online) is the book for you.
| ||||
|
feedback
|
|
Data Structures and Algorithms in Java by Robert Lafore. Nice book. | ||||
|
feedback
|
|
Everyone should read Effective Java once. The best Java book I've read in the last 5 years was Java Concurrency in Practice by Brian Goetz | ||||
|
feedback
|
|
Sam's Teach Yourself Java 6 in 21 Days is a great book. Great for someone completely new to programming | |||||
feedback
|
|
Learning Java has really helped me get up-to-speed.
And Hardcore Java is an incredible follow-on for intermediate Java developers. | ||||
|
feedback
|
|
Concurrent Programming in Java: Design Principles and Patterns by Doug Lea (2nd edition)
| ||||
|
feedback
|
|
Nobody has mentioned Dietel & Dietel's How to Program Java . I love these books, especially for their exercises. | ||||
|
feedback
|
|
First edition of Effective Java and then the second edition, to see some of the ideas that changed over time. | ||||
|
feedback
|
|
Beyond Java :) | ||||
|
feedback
|
|
Agile Java: Crafting Code with Test-Driven Development is what got me started on Test-Driven Development. It helped me a lot both learning TDD and Java at the same time. | ||||
|
feedback
|
|
Java Threads by Scott Oaks. An excellent introduction to this difficult but important topic. | ||||
|
feedback
|
|
Currently Reading through "Spring in Action" and so far it has a course set for one of my top java books. | ||||
|
feedback
|
|
| ||||
|
feedback
|
|
Practical Java by Haggar. Very similar to Effective Java. | ||||
|
feedback
|
|
| ||||
|
feedback
|