Java Concurrency in Practice — It never die; but will it just fade away?
I completed the reading of this book May 2023 and wrote the summary (very badly). I think it’s time to rewrite the review for this.
Since Java 8 released, those teachings in the book (simply called JCIP) seems less useful nowadays. Hence, people may ask “is JCIP still worth in 2024?” because it was published in May 2006 while Java 6 had not yet released. I would say YES. Here is the reasons why I still suggest people to read the book:
Practically, there are many legacy systems we have to maintain in the world. These systems which involve concurrent transactions does not have newer version of Java. In my personal experience, many systems in traditional financial sector (in Hong Kong) still use very old version of Java. Therefore, if you are maintaining and updating this kind of systems, you need to know some of the teachings from this book to prevent common error in concurrent programming.
Furthermore, this book and Java ≥ 8 are complementary. Java 8 has many concurrency features like parallel stream and CompletableFuture which were introduced in Java 8 in Action. It doesn’t imply that those features introduced in Java≥8 able to entirely replace features introduced in JCIP. The concepts of concurrent in JCIP are universal. For instance, volatile, atomic operation, Future and non-blocking algorithm are not only useful in Java ≤ 7, but still also in modern programming. Moreover, the book introduce interesting algorithm you may not find in other books. For example, the book introduces prototypical concurrent puzzle solver in chapter 8. If you want to become a great algorithm designer, the book will bring you a lot of fun and information.
A book can be remembered for a very long time because the principles in the book are invariant over time. The design patterns listed in the book GoF (i.e. Design Patterns: Elements of Reusable Object-Oriented Software) still valid today. JCIP is another one which its principles are long-lasting. In summary, Java Concurrency in Practice never die and will not just fade away.