From 15d6ea12d78dfcc59f9b9921f56ce014b200f368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BA=AA=E5=8D=93=E5=BF=97?= Date: Tue, 17 Jan 2023 23:20:48 +0800 Subject: [PATCH] Update jmm.md According to https://download.oracle.com/otn-pub/jcp/memory_model-1.0-pfd-spec-oth-JSpec/memory_model-1_0-pfd-spec.pdf, giving a formal definition of Java Memory Model. --- docs/java/concurrent/jmm.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/java/concurrent/jmm.md b/docs/java/concurrent/jmm.md index c5e8793af86..f17dfaef33a 100644 --- a/docs/java/concurrent/jmm.md +++ b/docs/java/concurrent/jmm.md @@ -12,6 +12,8 @@ head: content: 对于 Java 来说,你可以把 JMM 看作是 Java 定义的并发编程相关的一组规范,除了抽象了线程和主内存之间的关系之外,其还规定了从 Java 源代码到 CPU 可执行指令的这个转化过程要遵守哪些和并发相关的原则和规范,其主要目的是为了简化多线程编程,增强程序可移植性的。 --- +JMM(Java内存模型)主要定义了对于一个共享变量,当另一个线程对这个共享变量执行写操作后,这个线程对这个共享变量的可见性。 + 要想理解透彻 JMM(Java 内存模型),我们先要从 **CPU 缓存模型和指令重排序** 说起! ## 从 CPU 缓存模型说起