Goodreads helps you keep track of books you want to read.
Start by marking “Effective Java: A Programming Language Guide (Java Series)” as Want to Read:
Effective Java: A Programming Language Guide (Java Series)
Enlarge cover
Rate this book
Clear rating
Open Preview

Effective Java: A Programming Language Guide (Java Series)

4.48  ·  Rating details ·  5,491 Ratings  ·  300 Reviews
Kindle Edition, 2nd Edition, 374 pages
Published May 8th 2008 by Addison-Wesley Professional (first published June 5th 2001)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.
This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Rating details
Sort: Default
|
Filter
Eric
Mar 14, 2010 rated it it was amazing  ·  review of another edition
Shelves: java, techie
This is the single best book I have seen or read about Java to date. Bloch, who has been involved in the development of the latest versions of the Java language and specification, does not teach how to write Java code; he teaches how to write GOOD Java code.

This is a MUST READ for anyone who plans to write more than a little bit of Java code. But not only that, it is fairly easy to read and rather interesting.

I had a few second thoughts after writing the review above, so I thought I'd better add
...more
Christian Brumm
Oct 14, 2010 rated it it was amazing  ·  review of another edition
Shelves: cs-software
Effective Java is THE BOOK you want to read first when you start writing Java code professionally (for a living).

In the style of Scott Meyer's C++ books, Joshua Bloch - the head behind several modern Java libraries - presents the essential tricks of the trade and best practises when it comes to Java programming. This is essential when you want to write highly maintainable, efficient modern Java code.

The second edition puts a lot of emphasis on all the new language features that came with Java 5
...more
Andrew
Feb 28, 2013 rated it liked it  ·  review of another edition
Score: 3.5/5

Effective Java: even the title is concise and to-the-point, like the rest of the book's writing. This is not a book for beginners, but rather a book on general software design concepts, particularly with respect to Java itself. The book is organized into a few dozen "items", most of which follow this format:
1) "Here's a suggestion. You should probably follow it."
2) "Here's an example of following it, here's an example of why not following it is bad, and here's an example of when you
...more
Rafi
Mar 21, 2017 rated it really liked it  ·  review of another edition
I read this book as a recommended reading for the Java developers at Google. I found many "items" described in this book quite useful in real-life coding. Sometimes the author has gone a little too far to describe a single item, but overall the book is very well written.
Anton Petrov
Feb 09, 2013 rated it it was amazing  ·  review of another edition
Shelves: in-english, tech, mye
By far the best programming book I have ever read to date.
Tomáš
Jan 28, 2010 rated it it was amazing  ·  review of another edition
Můj osobní etalon skvělé programátorské knížky: spousta užitečných informací; minimum balastu; užitečné reference, kam jít dál; vysvětlení, proč věci jsou tak, jak jsou.

Je to již potřetí, co jsem tuto knížku četl, pokaždé v nové edici. A popravdě je to poprvé, co jsem nad pěti hvězdami zaváhal. Nemůže za to ale asi autor, ale samotná podstata věci. Java je prostě už stará. Knížka už ani tak neřeší, jak psát věci efektivně, jako kterým oblastem jazyka se vyhnout. Nějak automaticky se mi vybavuje
...more
Jonathan Zanella
I started reading it to improve my knowledge of java and it was exactly what I found.
The books is separated in 78 items with begin and end, so reading an item who is 2 to 3 pages long, you end with a new approach to something.
It is really an enjoyable experience :)
Michael
Sep 19, 2007 rated it it was amazing  ·  review of another edition
Shelves: read_2009, read_2007
Although it is a bit outdated, 90% of the book contains great advise for any Java programmer. If you have not read this then you do not know how to program Java.
-m
Rodrigo Almeida
Sep 13, 2018 rated it really liked it  ·  review of another edition
The introduction and middle of the book are awesome, with incredible new informations about Java. After, there are some chapters very boring, for example, about the JavaDoc.
Even if the book still very good.
Kannu
Dec 01, 2017 rated it really liked it
good one
Mostafa Nasiri
Dec 30, 2016 rated it it was amazing  ·  review of another edition
Shelves: computer-science
Great book! I think it's necessary for every Java developer to read this amazing book especially those who design APIs for people!
Francis
Jun 20, 2010 rated it it was amazing  ·  review of another edition
This is a unique and very worthwhile work for experienced Java developers who want to take their Java skills to the next level. It assumes that the reader is fully comfortable programming in Java, and gives a collection of tips on how to exploit certain language features, how to avoid various pitfalls, and so forth. The book makes frequent reference to design patterns, but it is not a design patterns book. It is also distinct from a “software engineering” book, but rather concentrates on aspects ...more
Tomasz
May 13, 2012 rated it it was amazing  ·  review of another edition
Shelves: 2009, technical, owned
If most programmers consider Core Java to be the best book for beginners, they should think about “Effective Java” as the best book for intermediate and more advanced Java programmers.
After this book my awareness about how good Java code should look like improved a lot. I learnt a lot of interesting and useful approaches to developing code in different situations. And, in spite of being heavily packed of knowledge, I can not say that reading this book was difficult. It was a nice lecture althoug
...more
John Chilton
Jul 08, 2010 rated it really liked it  ·  review of another edition
If you program Java, you must read this book. You won't learn any new syntax, language feature, library, or framework, but you will be a much better programmer as a result of reading this book. Its the best anything on Java I have read. I don't agree with 100% of the material in this book, but Joshua Bloch has a strong, clear opinions and he argues them well. This book is so good, I think you should read it even if you aren't a Java programmer but program C#, C++, or something else along those l ...more
Denis
Jul 14, 2013 rated it it was amazing  ·  review of another edition
This book is simply brilliant. Updated to the most recent language specification it covers a lot of issues and caveats that almost every Java developer encounters every day. The author is the guy who has designed and implemented the Collections framework and he knows his subject very well. This book can and definitely will increase one's productivity dramatically. The only obvious prerequisite is that a reader should already know and have experience in Java. Otherwise it would be better to inves ...more
Dimitko
Aug 10, 2010 rated it really liked it  ·  review of another edition
This book impressed me with the amount of practical use-cases of Java subtleties and intricacies -- for example, the proper implementation of "equals" method in classes.

The author not only shows us some common misconceptions about the "low level" Java mechanics (not the native level, but the basics of the language and the Java API), but also gives us many examples from his rich carreer.

It is my opinion that understanding the basics of Java (it turns out many of us don't) is the key to avoiding m
...more
Steve
Jan 29, 2018 rated it it was amazing  ·  review of another edition
Much like the other editions, an excellent reference about how to write idiomatically correct Java. Useful for newer programmers as well as for those who have been programming for a while in Java. It won’t tell you all you need to know, but will help you avoid problems. I expect that this will have a valuable place on my desk as I code.
Venkat Pedapati
Jan 06, 2013 rated it it was amazing  ·  review of another edition
If you have already done a few years of programming in an object oriented programming language like Java, this book might make you very uncomfortable. More than saying what to do, this book stresses on what not to do in Java and you'll thank for it in the long term.

The tips are organised into items each of few pages and can be read independently.
Ryanjustus
Sep 19, 2009 rated it it was amazing  ·  review of another edition
Amazing book that I would recommend every Java developer have in his library. This book covers the best practices aspects of programming Java that are pretty hard to pick up without years and years of trial and error and seeing what works best.
Jeffrey
Jun 28, 2010 rated it it was amazing  ·  review of another edition
Shelves: programming
Easy to read for a programming book. Great information about the best way to use java. Also contains many sections detailing how changes in java affect how you should implement your code.

Excellent for Java developers keeping current on Java
Owen Lindsell
Jun 05, 2009 rated it it was amazing  ·  review of another edition
Points out loads of really important pitfalls that you really should know if you want to write quality code. In a style that's informative and enjoyable.
Jan-Willem
Apr 16, 2014 rated it it was amazing  ·  review of another edition
Bloedstollend
Zach Danielson
Liked the 1st Edition so much I paid for the updated and expanded 2nd Edition. My co-workers and I are known to quote from St. Bloch when arguing for better software design.
Roger Camargo
Jan 24, 2013 rated it really liked it  ·  review of another edition
Varias dicas para não cometermos erros comuns de programação em Java. Recomendo a leitura
Matthew
Aug 19, 2018 rated it it was amazing  ·  review of another edition
This is an advanced book, for those who already know the Java language and want to be familiar with best practices. I really appreciate the author's Talmudic knowledge of the intricacies of the Java platform, combined with his very precise use of language. In the acknowledgements section Bloch mentions 11 people who reviewed every chapter (including his wife) and another 11 who reviewed parts of the book. That seems like a lot of people to me!

I got a strong sense that each word and phrase was o
...more
Andrzej Szelemetko
I have read the 3rd edition of this book, which is updated for Java 8. It’s a collection of 90 best practices for developers. Those practices cover a wide range of mostly used Java features, including generics, exceptions, concurrency, serialization, lambdas and many others.

A lot of relevant code examples showing both the good and the bad code followed by a robust explanation. The focus is on developers who create APIs that others will use, however IMHO everyone writing in Java would benefit fr
...more
Wanja Krah
Aug 30, 2018 rated it it was amazing  ·  review of another edition
Shelves: programming
I have read the 3rd edition of this book.
I have to admit. Even after years of doing different things than programming, after scanning the list of titles, I did not believe I would learn much new stuff from this book. Enums, Inheritance, Collections, yes, even Thread pools, I was convinced I had seen it all.
Only, that I left Java with Java 6 and that I reëntered the world with Streams and Lambda's. But with some background in functional programming, some to-the-point blogs on the subject and som
...more
Ravi Sinha
Joshua Bloch: "Blah blah blah math science technology linguistics lots of examples blah blah blah...", Me: "Okay, I won’t override clone(). I’ll look up before I override equals() and hashCode(). I’ll use interfaces over abstract classes...". Finally finished the quintessential leveling-up Java book. It's a classic, and has lots of good advice on how to write flexible, robust, and maintainable code. Wish he'd write a Java 8/Java 9 version because many of these tips and tricks might not be necess ...more
ziombel
Aug 15, 2018 rated it really liked it  ·  review of another edition
Shelves: it
Książka Blocha zawiera wiele ciekawych informacji i porad dotyczących programowania w Java(dla trochę bardziej zaawansowanych). Opisane są w niej często spotykane problemy oraz rozwiązania dla nich. Trochę czasu jest także poświęcone dobrym praktykom programowania.

Książki jednak nie polecam, ponieważ wydana została 10 lat temu pod wersję JDK 6. Przez to pewne problemy lub rozwiązania wydają się mocno przestarzałe.

Ale sam sięgnę po III wydanie tej książki, które zostało odświeżone pod JDK 9(wydan
...more
Benjamin Lerner
Oct 23, 2018 rated it it was amazing  ·  review of another edition
Very good for library maintainers, everyday java programmers, and people who want to write effective code of any language (even python). It describes best practices in Java and explains the reasoning behind them, which you can apply to almost any other language (although in a language like python, the most you can do to prevent others from using variables is to prefix them with an underscore). As a contributor to the Collections library, Bloch knows what he's talking about, and he makes sure to ...more
« previous 1 3 4 5 6 7 8 9 next »
  • Java Concurrency in Practice
  • Spring in Action
  • Programming in Scala
  • Thinking in Java
  • Refactoring: Improving the Design of Existing Code
  • Test Driven Development: By Example
  • Java Generics and Collections: Speed Up the Java Development Process
  • Head First Design Patterns
  • Working Effectively with Legacy Code
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Java Performance
  • Seven Languages in Seven Weeks
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
  • Programming Clojure
  • Growing Object-Oriented Software, Guided by Tests
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Programming Pearls

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
“One advantage of static factory methods is that, unlike constructors, they have names.” 4 likes
“Learning the art of programming, like most other disciplines, consists of first learning the rules and then learning when to break them.” 2 likes
More quotes…