313

Is Java Concurrency in Practice still valid? I am wondering whether the ideas, concepts and implementation described in the book are still compliant with the latest Java versions.

I ask because the latest edition was done in 2006.

3

9 Answers 9

657

While my perspective may be biased, my current intention for updating the book would be almost strictly additive, covering fork-join, parallel decomposition, and the new parallel bulk data operations coming in Java SE 8.

EDIT 2020: ... and Project Loom.

EDIT 2021: ... and Project Loom :)

EDIT 2022: ... and Project Loom !

9
  • 42
    Do you still (3 years later) have plans to update the book? AFAIK, the book available on Amazon is still the 2006 edition. It would be great to see coverage of many new features in Java SE 8 that relate to concurrency.
    – barclay
    Jun 22, 2015 at 23:11
  • 183
    "Have plans" would be giving it too much credit. Perhaps "have ambition" is closer.... Jun 23, 2015 at 0:48
  • 21
    a few more months, and it will be 2019... your fans are still waiting... :(
    – Kartik
    Aug 22, 2018 at 1:44
  • 3
    +1 from yet another fan. Though I have read through some Java 8/9 Stream/Conc books, I am still waiting your updating ;-)
    – pambda
    Dec 7, 2018 at 14:18
  • 33
    I understand. From my perspective, there's more leverage in making new versions of Java than new versions of the book, so I'm focusing on that for now. Maybe after Project Loom delivers, it'll be different. Dec 7, 2018 at 15:19
186

Yes, it's still valid in my mind. There isn't big change in this area from 6 to 7. Fork-join is a new feature, which is very suitable for divide-and-conquer type of problems. But all the existing stuff inside the book, such as synchronization, volatile, servlet, are still very valid.

0
52

I bought this book in 2013. I had very serious doubts that it would be current and useful given that this edition was published so long ago. The technology world moves quickly, and software technology even faster. Even so, this book is foundational. The concepts and practices that are discussed are more underpinnings for good software design and engineering than updates on the latest and greatest API's. This book has been indispensable, and I am glad that I got it before I had decided to write even a single line of concurrent code. It's probably saved me countless hours.

0
18

Yes definitely it's still valid, but I will recommend in addition or as an introduction The Well-Grounded Java Developer a well written book with a chapter on modern Java concurrency techniques and nicely done examples.

1
  • 3
    Interesting to note that they offer concurrency chapter for free at the moment (your link chapter 4 in Free Downloads)
    – onkami
    Sep 15, 2016 at 9:53
10

I would say so. JDK7 adds the fork-join framework but that is an enhancement rather than a replacement for earlier concurrency tools.

10

Yes. Very much. You can always keep track on new things being introduced in Java, however, the book does a fine job of explaining the fundamentals.

If it helps, this comes from a full time researcher in concurrency and parallelism using OOP.

5

Yes. Still it is valid and i have got good feedback from my friends. It is one of the best book for learning the concurrency in java. You can read the review for Java Concurrency In Practice

5

If you are going to start your project using Java 8 you might want to consider fresh books and tutorials as well because of new stuff appeared in Java 8 like streams,lambdas and new atomics - that changes development methods a little bit.

3
  • 1
    We talk about concurrency here right?
    – Samuel
    Jul 9, 2016 at 11:25
  • @samuel streams(parallel) and atomics certainly are key features of concurrency. Sep 14, 2016 at 20:50
  • 1
    how does it answer the original question about "Java Concurrency in practice" book?
    – Ben W
    May 4, 2017 at 13:36
0

Well, the book looks promising when I read certain preview chapters online. It gives enough insight on Java and general concurrency aspects. One can keep this book as a handy outfit when designing and implementing both naive and sophisticated concurrency applications.

Not the answer you're looking for? Browse other questions tagged or ask your own question.