Effective Java Review — A Must Read Book for Java Developers

Want to become a better Java Programmer? Read Effective Java now.

javinpaul
Javarevisited
7 min readDec 14, 2020

--

Effective Java by Joshua Bloch — A Must Read Book for Java Developers

Hello guys, if you have done Java programming then you may have heard about Effective Java, one of the most recommended books for Java programmers.

This is one of those books which I think 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 was 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 it's 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 them 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, also distribute this book to new Java developers and save tons of money by avoiding bugs and poor-quality Java code.

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 The Complete Java Masterclass Course by Tim Buchalaka on Udemy.

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 features Java 7,8, or 9, they cover.

Btw, if you are wondering about new features released in Java 10, 11, 12, and 13 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.

best course to learn Java

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 to it quite often.

That has helped me a lot to use Java in the right way. It has also helped me to improve the code quality and structure of my code.

effective Java review

Is Effective Java book worth it?

Yes, “Effective Java” by Joshua Bloch is widely considered a highly valuable resource for Java developers. The book provides practical advice and best practices for writing effective and efficient Java code. It covers a wide range of topics, including design patterns, performance optimization, error handling, concurrency, and more.

The author, Joshua Bloch, is a seasoned Java developer who has worked on the design and implementation of numerous Java APIs and features. His insights and recommendations in the book are based on his extensive experience in the field.

Many developers appreciate the clarity of the explanations, the relevance of the topics covered, and the real-world examples provided. The book is suitable for developers of various skill levels, from intermediate to advanced, and it can help improve the quality of Java code by promoting good coding practices.

Overall, if you are looking to deepen your understanding of Java and enhance your programming skills, “Effective Java” is considered a worthwhile investment by many developers in the Java community.

If you are still in doubt, just read the Effective Java, you will thank me later.

That’s all in this review of Effective Java book. 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 reading it now and become a better Java Programmer 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

--

--

javinpaul
Javarevisited

I am Java programmer, blogger, working on Java, J2EE, UNIX, FIX Protocol. I share Java tips on http://javarevisited.blogspot.com and http://java67.com