Effective Java 3rd Edition by Joshua Bloch – A Must Read Book for Java Developers

Hello guys, you might have heard about it that Effective Java 3rd Edition is finally available. After 10 years of the long wait by Java programmers from all over the world, finally, an updated version of, probably the most popular Java book on the planet is released now. This new version covers the features and paradigm introduced in JDK 7, 8, and 9.  Joshua Bloch has done a great job in also updating most of the items to keep it relevant to the newer version. Apart from that, there is a whole new chapter added to explain best practices around Java 8 features. I know you don't need any reason to read this book, given its huge popularity and acceptance. Many startups which use Java,  particularly in India, are also distributing copies of this book as a New Year Gift.

As I told you before, I have pre-ordered this book in October itself and received my copy a couple of days ago, but I had already read most of the items, particularly the newer ones on my Kindle, where the e-Book (Effective Java Kindle Edition) was available ever since it was published on 28th December.

I liked it very much and even though I did know about Java 8 lambdas, streams and how much they help you to write clean code in Java, Josh's advice helped me to fill some gaps.

Effective Java 3rd Edition by Joshua Bloch - book to read in 2018

His chapter on  Java 9 modules (Item 15) is also a great introduction to this essential JDK 9 feature, but it doesn't cover all of them. If you want to learn JDK 9 feature I suggest you better check What's New in Java 9 - Modules and More! course on Udemy.

What's New in Effective Java 3rd Edition

As I told the new edition of this book covers changes and features from JDK 7, 8, and 9 and that's why it has some brand new items as well.  Some of the New Items from Effective Java 3 which are worth mentioning is following :
  • Functional interfaces, lambda expressions, method references, and streams
  • The try-with-resources statement
  • Default and static methods in interfaces
  • Type inference, including the diamond operator for generic types
  • The @SafeVarargs annotation
  • New library features such as the Optional interface, java.time, and the convenience factory methods for collections
  • The Item 15 on Java 9 Modules

The number of items is also now increased to 90 from 70+ on Effective Java 2nd Edition. If you have read previous editions and are in little bit hurry I suggest you start with the new Items. There is a nice table at the start of the book which will give you a nice list of new items and which feature of Java 7,8, or 9 they cover. 

How to read Effective Java 3rd Edition

The best part of the book is that each Item is a whole chapter in itself which means either you can read the book from cover to cover or you can also read it Item by Item.  I generally read it by Items and mostly during my commutes. I started with newer items and then looked at a couple of items suggested on the first pages which map to new features in JDK 7, 8, and 9.

Like previous editions, Items are grouped on following topics:
  1. Creating and destroying objects
  2. Methods common to all objects
  3. Classes and interfaces
  4. Generics
  5. Enums and annotations
  6. Lambdas and Streams (Items 42 - 48)
  7. Methods
  8. General programming
  9. Exceptions
  10. Concurrency
  11. Serialization

The Lambdas and Streams is the new topic which covers best practices of using lambda expression and stream API of Java 8. He has also covered Optional, Default methods on interfaces, and try-with-resource from JDK 7.

If you have read the previous editions of Effective Java then you know that how valuable this book is for Java programmers. I always keep a copy at my desk, it not only looks good and impresses visitor but also helps me to refer it quite often. That has helped me a lot to use the Java in right way. It has also helped me to improve my code quality and structure of my code.

Effective Java 3rd Edition by Joshua Bloch - must read for developers

As I told, you probably don't need any review of Effective Java 3rd edition to read this book. The title itself is enough to start with and if you are a passionate Java programmer like me, I bet, you already read it by now. But, if you haven't read it yet, then start your New Year on a good note by reading Effective Java 3rd Edition this year.

If you can't find paperback edition, don't wait for it. Just buy the Effective Java eBook and read it on your phone or tablet. The formatting of the book is excellent and you will get the same experience as reading a paperback book.

1 comment:

  1. Just bought this awesome book, can't wait to get in hand, reading eBook until then.