Effective Java 2nd Edition

by Piotr Likus on October 28, 2015
Item Reviewed

Effective Java 2nd Edition

October 28, 2015
Book author(s)

Joshua Bloch




0321356683, 978-0321356680



Publication year



“Effective Java” is a collection of receipts for advanced to senior Java programmer which are not depicting how Java API works but rather show when and which part we should use. Author – Joshua Bloch – mentions that his book format is borrowed from another great book – “Effective C++” by Scott Meyers, which I personally find coherent and well-organized. The book consists of eleven chapters, each devoted to specific language domain, and each including several items. Each item you can read as a separate part, so it is easy to return to items you want to recall. You can even start using this book immediately without reading it as a whole – just by reading items you are interested in. Items are related to Java SE up to 6th release, so don’t expect any mentions of JEE API. Author several times mentions some of his performance test results to justify his points – which can be useful to know.

What You Will Learn

  • Generics – how to define & use them effectively
  • Enumerations – what are they good for, which containers can be used with them
  • Annotations – why they are useful, how to define own
  • JavaDoc – quick overview
  • why float & double are not good data types for money handling
  • how & why to use interfaces instead of reflection
  • why naming conventions are important
  • exceptions – detailed introduction
  • concurrency – which parts to avoid and what traps to expect
  • flaws of serialization mechanism


To summarize, I would recommend this book to every Java programmer who works with Java long enough to not be called as a “junior”. In the book you will NOT find any computer science basics or Java API introduction. You will rather learn things useful for everyday advanced Java programmer. Of course you can work with Java without reading this book, but it will be far easier and … effective to work after reading it.



* split into distinct items
* objective points hard to not agree with


* not updated for 7 years now, so doesn't cover Java 7/8 (but see https://twitter.com/joshbloch/status/564247068269506560)

Our Rating
User Rating
Rate Here
Bottom Line

One of most important Java books. It would be hard to find any professional Java programmer who doesn't know it.

Total Score
User Score
You have rated this
Fonts by Google Fonts. Icons by Fontello. Full Credits here »