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

Hello guys, you might have heard about Effective Java, one of the most recommended books for Java programmers. This is one of those books which every Java developer wants to read because it will not teach you syntax but how and when to use a particular feature. After the huge success of Effective Java 1st Edition and 2nd Edition, the 3rd edition of Effective Java released a couple of years ago.  After 10 years of 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 and I am going to talk about this new version of Effective Java, I mean Effective Java 3rd Edition in this article and share my thought that why its a must-read book for every Java developer around the world.

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 immense popularity and acceptance. Many startups that 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. Still, I had already read most of the items, mainly the newer ones on my Kindle, where the e-Book (Effective Java Kindle Edition) was available ever since it was published.

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.

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.

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




What's New in Effective Java 3rd Edition

As I told you, 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 the 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 a little bit hurry, I suggest you start with the new Items. There is a beautiful 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.

Btw, if you are wondering about new features released in Java 10, 11, 12, 13, 14, and 15 then you can also check this list of short Java courses, you can take to learn those features.

And, if you are just starting with Java and need a rather more comprehensive resource to learn Java from scratch then I suggest you join The Complete Java Masterclass course on Udemy. It's affordable and most up-to-date and you can join this in less than $10 on Udemy flash sales which happens every month. 




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 the 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 that covers best practices of using lambda expression and stream API of Java 8. He has also included Optional, Default methods on interfaces, and try-with-resources from JDK 7.

If you have read the previous editions of Effective Java, then you know how valuable this book is for Java programmers. I always keep a copy at my desk; it not only looks good and impresses visitors but also helps me to refer it quite often. That has helped me a lot to use Java in the 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, 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.

Further Learning
The Complete Java Masterclass
Data Structures and Algorithms: Deep Dive Using Java
Java Fundamentals: The Java Language


Other Java articles you may like to explore

Thanks for reading this article, if you like this book, then please share it with your friends and colleagues. If you have any questions or feedback, please drop a note.

P. S. - If you can't find the 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.

    ReplyDelete

Feel free to comment, ask questions if you have any doubt.