写点什么

JMM

0 人感兴趣 · 24 次引用

  • 最新
  • 推荐

别再说你不懂 Java 内存模型了!!!

JMM(Java Memory Model)并发模型是Java多线程编程中的重要概念之一。在Java多线程编程中,我们需要了解JMM并发模型,才能够编写高效、可靠的多线程程序。我们将探讨JMM并发模型的基本概念,以及如何在Java多线程编程中使用它。我们将深入探讨JMM内存模型、

京东面试题:说说 synchronized 和 volatile 的区别

今天来介绍一下Java面试中最常会被面试官提到的问题,也是Java多线程中经常被问到的问题:synchronized和volatile的区别,希望能够帮助到Java相关方面的求职者。

https://static001.geekbang.org/infoq/1a/1a5bbacf2b0b26401b1d311252479b1a.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

阿里内部高并发核心编程笔记:多线程、锁、JMM、JUC、设计模式

用户头像
冉然学Java
2022-08-06

前两天看到一个大佬写的博客,提到高阶开发者必须掌握的技能,其中他明确提出了“精通多线程性能调优”。

用实例带你深入理解 Java 内存模型

本文的目的在于理解 J V M 与我们的内存两者之间是如何协调工作的。

https://static001.geekbang.org/infoq/a2/a260e7abf737e4158384366b2b510401.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

我看 JAVA 之 并发编程【四】线程安全与 JMM

用户头像
awen
2021-08-12

我看 JAVA 之 并发编程【四】线程安全与JMM

小白也能看懂的 Java 内存模型

用户头像
程序猿阿星
2021-07-09

Java并发编程系列开坑了,Java并发编程可以说是中高级研发工程师的必备素养,也是中高级岗位面试必问的问题,本系列就是为了带读者们系统的一步一步击破Java并发编程各个难点,打破屏障,在面试中所向披靡,拿到心仪的offer,Java并发编程系列文章依然采用图

https://static001.geekbang.org/infoq/7a/7af34b01f750777098979258aaf9a0d3.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
why技术
2021-05-10

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

https://static001.geekbang.org/infoq/89/89b7535ad44606e06ba328050d9a38c3.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
洛神灬殇
2021-05-08

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

https://static001.geekbang.org/infoq/89/89b7535ad44606e06ba328050d9a38c3.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
洛神灬殇
2021-05-01

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

https://static001.geekbang.org/infoq/5f/5f253b654b0be16fcefeffdc91b1e570.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_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%2Fresize%2Cw_416%2Ch_234

从 JMM 透析 volatile 与 synchronized 原理

用户头像
码哥字节
2020-12-16

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

https://static001.geekbang.org/infoq/c0/c0b7d0cb4605c2ccdb73cb4bcfa3f263.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_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%2Fresize%2Cw_416%2Ch_234

浅析 Java 内存模型 一

用户头像
朱华
2020-10-10

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

https://static001.geekbang.org/infoq/01/01e603ad852e1c675e155a22b102a566.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

了解 Java 内存模型

用户头像
陈皮
2020-06-21

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

JMM 的前世今生

用户头像
fkc_zyk
2020-05-30

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

https://static001.geekbang.org/infoq/fb/fb7eafbcb4a1a86c674eefb8ca6f686b.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
Seven七哥
2020-04-27

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

JMM_JMM技术文章_InfoQ写作社区