Concurrency can be tackled through various API, frameworks and even JVM-compatible language in Java. But there is often a consensus that shared-state presents more difficulties. Based on the presentation of Jonas Boner at JavaOne, Gary Boone writes about shared state concurrency and alternatives like STM, Actors, and Dataflow.
Read Gary Boone's post 'Think Java shared-state concurrency is hard? That’s ok; it’s dead':
Read Jonas Boner JavaOne presentation 'Alternative Concurrency Paradigms For The JVM':