The Java Memory Model specifies where variables and objects are stored inside the Java virtual machine, as well as how Java Threads access and share these variables and objects. This Java Memory Model tutorial explains the basics of the Java memory model.
Two concepts are left out of this tutorial: The Java synchronized and volatile keywords. Each of these keywords are explained in their own tutorials (see links below).
Chapters
0:00 Introduction to Java memory organzation - AKA the Java Memory Model
0:29 Java Thread stacks and the heap
1:10 Location of local variables and objects
2:52 Code examples of local variable and object locations
10:45 The thread stacks and heap mapped onto a hardware architecture
12:13 How variables and objects move through the RAM, caches and CPU registers
13:19 How the memory organization in Java can lead to race conditions
15:15 Data update visibility between threads
16:35 Cache coherence strategies do not guarantee data update visibility
18:19 Demo of race conditions in Java threads.
Java Memory Model - JSR 133
[ Ссылка ]
Java Memory Model tutorial - text:
[ Ссылка ]
Java Concurrency playlist:
[ Ссылка ]
Java synchronized keyword tutorial:
[ Ссылка ]
Java volatile keyword tutorial:
[ Ссылка ]
Ещё видео!