The document discusses alternative concurrency paradigms to shared-state concurrency for the JVM, including software transactional memory which allows transactions over shared memory, message passing concurrency using the actor model where actors communicate asynchronously via message passing, and dataflow concurrency where variables can only be assigned once. It argues these paradigms are better able to avoid issues with shared-state concurrency like deadlocks and race conditions and enable easier reasoning about concurrent programs.