Live briefing
Everything about Java memory model
Interaction of threads in Java software
The Java memory model describes how threads in the Java programming language interact through memory. Together with the description of single-threaded execution of code, the memory model provides the semantics of the Java programming language. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Java memory modelA 5-minute orientation
- Pick up a classic book: Modern Operating SystemsThe most-reprinted book on the subject
- Read the landmark paper: The Java memory modelCited 79 times
- Go sideways: Memory model (programming)A closely related topic
- Go sideways: Java concurrencyA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
The Java memory model
The Java memory model is fatally flawed
The Safety-Critical Java memory model formalised
Making the java memory model safe
Improving the Java memory model using CRF
Flood Disaster Prediction Model Using Long Short-Term Memory (LSTM) in Pekalongan, Central Java.
Verification for Multithreaded Java Code using Java Memory Model
A New Java Memory Model L-JMM
📚 Books worth reading
Modern Operating SystemsAndrew S. Tanenbaum, Herbert Bos · 1992
Invitation to Computer ScienceG. Michael Schneider, Judith L. Gersting · 1995
Computer scienceJ. Glenn Brookshear, Brookshear · 1985
The web application hacker's handbookDafydd Stuttard, Marcus Pinto · 2007
Theories of memoryAlan F. Collins · 1993
Understanding object-oriented programming with JavaTimothy Budd · 1998
Software EssentialsAdair Dingle · 2014
Digital planetGeorge Beekman, Ben Beekman · 2011
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Memory model (programming) In computing, a memory model describes the interactions of threads through memory and their shared use of the data. A memory model allows a compiler to…
- Java concurrency The Java programming language and the Java virtual machine (JVM) are designed to support concurrent programming. All execution takes place in the context…
- Memory barrier In computing, a memory barrier, also known as a membar, memory fence or fence instruction, is a type of barrier instruction that causes a central processing…
- Memory ordering Memory ordering is the order of accesses to computer memory by a CPU. Memory ordering depends on both the order of the instructions generated by the compiler…
- Volatile (computer programming) In computer programming, a variable is said to be volatile if its value can be read or modified asynchronously by something other than the current thread…
- Race condition A race condition or race hazard is the condition of an electronics, software, or other system where the system's substantive behavior is dependent on the…
- Sequential consistency Sequential consistency is a consistency model used in the domain of concurrent computing (e.g. in distributed shared memory, distributed transactions,…
- 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…