GeeCON 2018: Aleksey Shipilëv - Java Memory Model Unlearning Experience
This talk is another attempt at explaining the Java Memory Model (JMM). This time we would assume people come to concurrency world with their preconceptions how the world works, and conjecture that is the major reason learning the low-level concurrency is hard for them. Therefore, rather than explaining what JMM is*, we would try to see what JMM *is not*, and this should eliminate a few misconceptions about the Java concurrency at large. This would be the *unlearning experience! The talk would try to build simple intuitive rules that we can use every day, and would try to outline the proofs one could employ to verify those rules. We shall also see surprising behaviors that are allowed by JMM, but not by naive (mis)interpretations of it. Prerequisites: the talk assumes the audience understands basic JMM, at least on the level of 'JMM Pragmatics' (https://shipilev.net/blog/2014/jmm-pr...) . Understanding more advanced topics, like the ones discussed in 'Close Encounters of The Java Memory Model Kind' (https://shipilev.net/blog/2016/close-...) would be a plus.

Concurrency Concepts in Java by Douglas Hawkins

The Java memory model explained, Rafael Winterhalter

The Java Memory Model - The Basics

Understanding Garbage Collection, Memory Leaks, Heap and Thread Dumps

Java Concurrency from the Trenches: Lessons Learned in the Wild

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

GeeCON 2018: Volker Simonis - Class Data Sharing in the HotSpot VM

9. Java Memory Management and Garbage Collection in Depth

Garbage Collection in Java: The progress since JDK 8 by Stefan Johansson

How low can you go? Ultra low latency Java in the real world - Daniel Shaya

Co-Creator of Haskell: Useless vs Useful Languages, Rust vs C, Functional Programming | Simon Jones

Parallel Streams, CompletableFuture, and All That: Concurrency in Java 8

Cliff Click — The Sea of Nodes and the HotSpot JIT

JVM Anatomy 101

Everything You Never Wanted to Know about Java Class Initialization #JVMLS

Memory footprint of a Java process by Andrei Pangin

Aleksey Shipilev — Workshop: Java Concurrency Stress (JCStress). Part 1

Java Memory Model in 10 minutes

Shenandoah: The Garbage Collector That Could by Aleksey Shipilev

