What level of focus does the current version of Head First Java have in regards to Threading strategies? Does it cover only the base methods to run logic in parallel or does it also have a use-case based approach towards this where we build from the base up to develop something non-trivial.
The previous version of the book builds up a music player over the last few chapters of the book, to demo GUI code, networking, and threading. With this version, we brought that code up to date (specifically networking and threading code changed in Java 7 and later), and we added so many examples of how to use the most common concurrency features (many of which were introduced in Java 7 and later) that we had to create a whole new chapter for the book!
Working on the concurrency chapters (chapters 17 and 18) was one of the most challenging and interesting parts of updating this book.
This sounds absolutely thrilling to me. I can appreciate concurrency being a tricky one to take on while making it approachable for most folks the way the previous book took on so its definitely one of the more interesting ones I'm keen to see. Aside from this, can we expect any concept of modules in there as well?
Modules is mentioned and given a very brief intro, mostly because it's hard to understand the current javadocs without having some idea of the modules in the jdk. We didn't cover creating a modular application, as it's unlikely beginners will have to do that. More senior developers can use a range of resources to get that info (including some of my talks and articles!)
concurrentmodificationexception is covered, we explain what it is and what causes it, and some approaches to avoid it.