随笔分类 -  java内存模型

摘要:hotspot x86平台上的内存屏障的实现依赖于lock指令,而Intel的lock指令的实现依赖于缓存一致性协议(例如MESI)。 本文只介绍hotspot X86平台的内存屏障的实现,没有任何关于其他平台是怎么实现内存屏障的内容。 一、字节码解释器源码分析验证hotspot字节码解释器在处理p 阅读全文
posted @ 2022-03-07 09:31 高压锅里的大萝卜 阅读(393) 评论(0) 推荐(0) 编辑
摘要:为什么会有happens-before 规则? 因为jvm会对代码进行编译优化,指令会出现重排序的情况,为了避免编译优化对并发编程安全性的影响,需要happens-before规则定义一些禁止编译优化的场景,保证并发编程的正确性。 主要解决多线程的可见性和排序性,解决不了原子性 public cla 阅读全文
posted @ 2022-03-04 16:31 高压锅里的大萝卜 阅读(62) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 提到双重检查锁(Double-Checked Locking)通常简称为DCL,肯定很多人第一时间想到的就是单例模式。 ​ 单例模式通常有两种方式:饿汉与懒汉模式。那么懒汉模式采用了延迟初始化来降低类创建造成的消耗,DCL是常见的延迟初始化技术,但它是一个错误的用法。下面来详细分析以下这种 阅读全文
posted @ 2022-03-03 10:46 高压锅里的大萝卜 阅读(576) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示