Table of Contents
- Introduction
- Concurrency on the JVM and the Java Memory Model
- Classic Concurrency
- Data-Parallel Collections
- Asynchronous Programming with Futures
- Functional Reactive Programming
- Software Transactional Memory
- Actors
- Concurrency in Practice

