JMM
0 人感兴趣 · 24 次引用
- 最新
- 推荐
京东面试题:说说 synchronized 和 volatile 的区别
今天来介绍一下Java面试中最常会被面试官提到的问题,也是Java多线程中经常被问到的问题:synchronized和volatile的区别,希望能够帮助到Java相关方面的求职者。

as-if-serial &happens-before 详解
as-if-serial &happens-before详解




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


JVM 系列 -java 内存模型(JMM)
Java内存模型,是Java语言在多线程并发情况下对于共享变量读写(实际是共享变量对应的内存操作)的规范,主要用于java程序访问共享内存时,屏蔽不同的操作系统、不同的硬件的差异,从而解决多线程可见性、原子性等问题。
浅析 Java 内存模型 二
先行发生是 Java 内存模型中定义的两项操作之间的偏序关系,比如说操作 A 先行发生于操作 B,其实就是说在发生操作 B 之前,操作 A 产生的影响能被操作 B 观察到,“影响”包括修改了内存中共享变量的值、发送了消息、调用了方法等。
浅析 Java 内存模型 三
volatile 是一种同步机制,比 synchronized 或者 Lock 相关类更轻量,因为使用 volatile 并不会发生上下文切换等开销很大的行为。

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


死磕 Java 并发编程(4):happens-before 是什么?JMM 最最核心的概念,看完你就懂了
happens-before是JMM最核心的概念。对应Java程序员来说,理解happens-before是理解JMM的关键。