File tree Expand file tree Collapse file tree 1 file changed +2
-2
lines changed
Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ Java 是最早尝试提供内存模型的编程语言。由于早期内存模型
7171
7272** 为什么要遵守这些并发相关的原则和规范呢?** 这是因为并发编程下,像 CPU 多级缓存和指令重排这类设计可能会导致程序运行出现一些问题。就比如说我们上面提到的指令重排序就可能会让多线程程序的执行出现问题,为此,JMM 抽象了 happens-before 原则(后文会详细介绍到)来解决这个指令重排序问题。
7373
74- JMM 说白了就是定义了一些规范来解决这些问题,开发发者可以利用这些规范更方便地开发多线程程序 。对于 Java 开发者说,你不需要了解底层原理,直接使用并发相关的一些关键字和类(比如 ` volatile ` 、` synchronized ` 、各种 ` Lock ` )即可开发出并发安全的程序。
74+ JMM 说白了就是定义了一些规范来解决这些问题,开发者可以利用这些规范更方便地开发多线程程序 。对于 Java 开发者说,你不需要了解底层原理,直接使用并发相关的一些关键字和类(比如 ` volatile ` 、` synchronized ` 、各种 ` Lock ` )即可开发出并发安全的程序。
7575
7676### JMM 是如何抽象线程和主内存之间的关系?
7777
@@ -229,4 +229,4 @@ happens-before 与 JMM 的关系用《Java 并发编程的艺术》这本书中
229229- 《深入浅出 Java 多线程》:http://concurrent.redspider.group/RedSpider.html
230230- Java 内存访问重排序的研究:https://tech.meituan.com/2014/09/23/java-memory-reordering.html
231231- 嘿,同学,你要的 Java 内存模型 (JMM) 来了:https://xie.infoq.cn/article/739920a92d0d27e2053174ef2
232- - JSR 133 (Java Memory Model) FAQ:https://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html
232+ - JSR 133 (Java Memory Model) FAQ:https://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html
You can’t perform that action at this time.
0 commit comments