写点什么

JMM

0 人感兴趣 · 16 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/7a/7af34b01f750777098979258aaf9a0d3.jpeg?x-oss-process=image/resize,w_416,h_234

414 天前,我以为这是编程玄学...

用户头像
why技术13 小时前

玄学问题得到了科学的解释。

https://static001.geekbang.org/infoq/89/89b7535ad44606e06ba328050d9a38c3.jpeg?x-oss-process=image/resize,w_416,h_234

技术探索系列 - 轻松带你掌握 JMM(2)

用户头像
李浩宇/Alex5 月 8 日

书中横卧着整个过去的灵魂 —— 卡莱尔

https://static001.geekbang.org/infoq/89/89b7535ad44606e06ba328050d9a38c3.jpeg?x-oss-process=image/resize,w_416,h_234

技术探索系列 - 轻松带你掌握 JMM(1)

用户头像
李浩宇/Alex5 月 1 日

鸟欲高飞先振翅,人求上进先读书 ——李苦禅

https://static001.geekbang.org/infoq/5f/5f253b654b0be16fcefeffdc91b1e570.png?x-oss-process=image/resize,w_416,h_234

【并发编程的艺术】Java 内存模型的顺序一致性

本篇将深入多线程并发执行问题的根源。总线的工作机制,顺序一致性模型以及JMM在性能与一致性上的折衷。通过这些明确问题产生的原因。在下篇文章中将介绍volatile、synchronized、final域的内存语义,来看它们是怎样解决这些问题的,以及各自的适用场景。

Java 并发编程之 JMM & volatile 详解

本文从计算机模型开始,以及CPU与内存、IO总线之间的交互关系到CPU缓存一致性协议的逻辑进行了阐述,并对JMM的思想与作用进行了详细的说明。

https://static001.geekbang.org/infoq/09/09718222a2c928e4001cfca16ad41256.png?x-oss-process=image/resize,w_416,h_234

从 JMM 透析 volatile 与 synchronized 原理

用户头像
码哥字节2020 年 12 月 16 日

在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM?与 JVM 内存结构有什么区别?

https://static001.geekbang.org/infoq/df/dfaa541e10666baac0973c795807b791.jpeg?x-oss-process=image/resize,w_416,h_234

可见性是什么?(通俗易懂)

用户头像
叫练2020 年 12 月 10 日

可见性是什么?(通俗易懂)

https://static001.geekbang.org/infoq/c0/c0b7d0cb4605c2ccdb73cb4bcfa3f263.png?x-oss-process=image/resize,w_416,h_234

JVM 系列 -java 内存模型(JMM)

用户头像
诸葛小猿2020 年 11 月 17 日

Java内存模型,是Java语言在多线程并发情况下对于共享变量读写(实际是共享变量对应的内存操作)的规范,主要用于java程序访问共享内存时,屏蔽不同的操作系统、不同的硬件的差异,从而解决多线程可见性、原子性等问题。

浅析 Java 内存模型 二

用户头像
朱华2020 年 10 月 11 日

先行发生是 Java 内存模型中定义的两项操作之间的偏序关系,比如说操作 A 先行发生于操作 B,其实就是说在发生操作 B 之前,操作 A 产生的影响能被操作 B 观察到,“影响”包括修改了内存中共享变量的值、发送了消息、调用了方法等。

浅析 Java 内存模型 三

用户头像
朱华2020 年 10 月 11 日

volatile 是一种同步机制,比 synchronized 或者 Lock 相关类更轻量,因为使用 volatile 并不会发生上下文切换等开销很大的行为。

https://static001.geekbang.org/infoq/86/8697f2def79aadce7a1cf199cd6e852c.jpeg?x-oss-process=image/resize,w_416,h_234

浅析 Java 内存模型 一

用户头像
朱华2020 年 10 月 10 日

《Java虚拟机规范》中曾试图定义一种“Java 内存模型”(Java Memory Model,JMM)来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。

https://static001.geekbang.org/infoq/01/01e603ad852e1c675e155a22b102a566.jpeg?x-oss-process=image/resize,w_416,h_234

了解 Java 内存模型

用户头像
陈皮2020 年 6 月 21 日

对于 Java 开发人员来说,了解 Java 内存模型是必不可少的,他们需要开发,部署,监视,测试和调整 Java 应用程序的性能。

JMM 的前世今生

用户头像
fkc_zyk2020 年 5 月 30 日

本文从CPU底层开始讲起重排序及可见性的问题,然后结合JMM来进一步分析重排序和可见性造成的原因,说明为什么要JMM,以及什么是JMM,最后讲解JMM怎么使用,常见的问题解答。

https://static001.geekbang.org/infoq/fb/fb7eafbcb4a1a86c674eefb8ca6f686b.jpeg?x-oss-process=image/resize,w_416,h_234

死磕 Java 并发编程(4):happens-before 是什么?JMM 最最核心的概念,看完你就懂了

用户头像
七哥爱编程2020 年 4 月 27 日

happens-before是JMM最核心的概念。对应Java程序员来说,理解happens-before是理解JMM的关键。

JMM_JMM资料文章-InfoQ写作平台