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
|
167
|
Which Java book do you think is the must-have one for all Java developers? Keep in mind:
javabookspolls
|
|
279
accepted
|
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. |
|
71
|
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. |
|
57
|
Head First Design Patterns - not necessarily a pure Java book, but essential for every Java developers who designs his applications himself.
|
|
56
|
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. |
|
38
|
Refactoring by Martin Fowler
Especially the chapter about Bad Smells in Code should be understood by everyone. |
|
21
|
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. |
|
12
|
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. |
|
12
|
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.) |
|
8
|
If you want to understand, how it all works, The Java Virtual Machine Specification (also freely available online) is the book for you.
|
|
7
|
|
|
5
|
Learning Java has really helped me get up-to-speed. And Hardcore Java is an incredible follow-on for intermediate Java developers. |
|
4
|
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. |
|
4
|
Currently Reading through "Spring in Action" and so far it has a course set for one of my top java books. |
|
4
|
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 |
|
4
|
Sam's Teach Yourself Java 6 in 21 Days is a great book. Great for someone completely new to programming |
|
3
|
Nobody has mentioned Dietel & Dietel's How to Program Java . I love these books, especially for their exercises. |
|
3
|
Clean Code by Robert "Uncle Bob" Martin. The question being "for every java developer" not "for people learning how to program", my answer is optimistic. If every every developer read this book, think of the world we could all live in! The book shows and walks you through an infectious coding style that is readable, maintainable, promotes TDD and other valuable practices, and helps you identify what exactly it is about code that makes it good or bad. Anything from the Robert C. Martin Series is good, but this is an excellent place to start. It can truly transform the way you read/write/maintain code. You will learn syntax no matter what your first book is. Once that is down, something of this nature can change the game entirely. |
|
2
|
First edition of Effective Java and then the second edition, to see some of the ideas that changed over time. |
|
2
|
The Java Class Libraries by Chan Lee. This started as a single volume, then was published as two, and who knows how it will evolve, however it is the Bible when writing Java. It's similar to but better than the online documentation. Caution: You already have to know how to think in the object world - this isn't a beginners text, though it's an essential reference for beginners. |
|
2
|
The Art and Science of Java is the best Java book I have ever read.
Also, thanks to the others users for giving such a wide range of books. My personal favorites are: Art & Science of Java, Head First Java and Thinking in Java. |
|
1
|
Also not really a Java only book, but one that would lead to less ugly Java code: Eric Evans -- "Domain-Driven Design". Read it and go tackle that complexity! |
|
1
|
In my undergrad days I referred to " Java: A Framework for Program Design and Data Structures", Second Edition, by Kenneth Lambert, Martin Osborne . I has a lot of analysis on solving many standard problems and also demonstrates the design and implementation of various model classes to solve them. |
|
1
|
I think tha java tutorials from Sun's website...you learn from the designer-implementor of the language.:) |
|
1
|
It was said above that "Thinking in Java" by Bruce Eckel was available for free on his website. That is not entirely true: Editions 1-3 are available, but not the 4th edition, which is the only one that covers Java 5 and 6. |
|
1
|
Actually, to be honest, the only Java book I've read is "Java a as first programming language" by Mughal et al. It's in Norwegian, but even so, it explains a great number of interesting topics, and it tells you a lot about not just java, but programming in general. (The book even discuss conds, and not just switches, so yes, it IS more than just java. (I like conds. And nested parens. (And LISP. Can you tell?))) Anyway, if you speak Norwegian, then it is a great book. Especially since it's in your native tongue, so the English terms are translated so there is a lot less to learn. English books expect you to speak native English, and so you spend as much time translating mathematical and technical terms as actually learning them. Just to point out an example of why I like this book: The two 10 point courses it teaches (30 points per semester, so 2/3rds of a semester is covered within) does cover a lot of stuff, but no GUI. (Which is a good thing. If you ask me... :p) However, There is still a full sized chapter on swing and gui building, stuffed away as an appendix, because, well, it fit in somewhere. |
|
1
|
"Java 6 The Complete Reference " ..................................................................................................................................................................... ...the first book i learned while diving into the ocean of JAVA... |
|
1
|
Program Development in Java by Liskov and Guttag, though academic in nature, is an excellent book to learn about object oriented design using Java.
|
|
0
|
Well, Another book which proved helpful is 'Java Precisely' by Peter Sestoft in its second edition (Covering JDK 5)
This book contains the basics of the Java language condensed to about 150 pages. It may not prove to be efficient for learning, but rather for looking up things quickly, or to get in touch with the syntax and basic structures in Java. |
|
0
|
Sun certified programmer for Java 5 by Kathy Sierra
Of course, the SCJP5 is a little bit obsolete, but I haven't read the SCJP6.
|
|
0
|
Effective Java by Bloch 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) |
|
0
|
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 as a free download at the above link. |
|
0
|
Thinking in Java by Bruce Eckel. 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. |
|
0
|
For any java developer,here's should be the sequence of reading the books:
|
|
-1
|
Eloquent JavaScript A Modern Introduction to Programming by Marijn Haverbeke Delivered as a online book that allows all the examples and exercises to be executed in the browser with a little display window. Also available in a dead tree version. http://eloquentjavascript.net/
|