Everything about Java concurrency
Simultaneous processing in the Java language
The Java programming language and the Java virtual machine (JVM) are designed to support concurrent programming. All execution takes place in the context of threads. Objects and resources can be accessed by many separate threads, with each thread with its own path of execution, but with access to any object in the program. Read and write access to objects must be properly coordinated between threads. Thread synchronization ensures that objects are modified by only one thread at a time and prevents threads from accessing partially updated objects during modification by another thread. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Java concurrencyA 5-minute orientation
- Skim a recent paper: Structured Concurrency in JavaInfluential work since 2022
- Pick up a classic book: Java Concurrency in PracticeThe most-reprinted book on the subject
- Read the landmark paper: JAC: declarative Java concurrencyCited 15 times
- Go sideways: Java ConcurrentMapA closely related topic
- Go sideways: Java collections frameworkA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
JAC: declarative Java concurrency
A method for verifying concurrent Java components based on an analysis of concurrency failures
Advanced concurrency control in Java
A comparison of the concurrency features of Ada 95 and Java
Extending the concurrency model of the real‐time specification for Java
Introducing concurrency in sequential Java via laws
Revocation techniques for Java concurrency
Effectively mapping linguistic abstractions for message-passing concurrency to threads on the Java virtual machine
🆕 Influential since 2022
Structured Concurrency in Java
Refactoring for Java-Structured Concurrency
Concurrency is hard: Java vs Python pitfalls you can't ignore
Performance Comparison of three Sorting Algorithms Using Shared Data and Concurrency Mechanisms in Java
Evaluating the Sustainability and Scalability of Java Virtual Threads and R2DBC in High Concurrency Web Portal Architecture
📚 Books worth reading
Java Concurrency in PracticeBrian Goetz, Joshua Bloch · 2006
Programming ClojureStuart Halloway · 2009
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Java ConcurrentMap The Java programming language's Java Collections Framework version 1.5 and later defines and implements the original regular single-threaded maps, and…
- Java collections framework The Java collections framework is a set of classes and interfaces that implement commonly reusable collection data structures (collections). Although referred…
- Java syntax The syntax of Java is the set of rules defining how a Java program is written and interpreted. The syntax is mostly derived from C and C++. Unlike C++…
- Double-checked locking In software engineering, double-checked locking (also known as "double-checked locking optimization") is a software design pattern used to reduce the overhead…
- Linearizability In concurrent programming, an operation (or set of operations) is linearizable if it consists of an ordered list of invocation and response events, that…
- Java Native Interface The Java Native Interface (or Native Method Interface) is a foreign function interface designed for non-Java programming frameworks. The JNI enables Java…
- Project Valhalla (Java language) In computing, Project Valhalla is an experimental OpenJDK project to develop major new language features for Java 10 and beyond. The project was announced…
- Security of the Java software platform The Java software platform provides a number of features designed for improving the security of Java applications. This includes enforcing runtime constraints…