2023年7月3日
摘要: #### 单例模式的定义 Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。) 单例模式的通用类图如下: ![](htt 阅读全文
posted @ 2023-07-03 00:16 旅途的痕迹 阅读(10) 评论(0) 推荐(0) 编辑
  2023年7月2日
摘要: #### 为什么需要保证有序性? 有如下代码,在int i = a;执行了的情况下,i的值最终会为几? ``` public class NoVolatileExample { int a = 0; boolean flag = false; public void writer() { a = 1 阅读全文
posted @ 2023-07-02 17:32 旅途的痕迹 阅读(28) 评论(0) 推荐(0) 编辑
摘要: #### happens-before 简述 从 JDK 5 开始,Java 使用新的 JSR-133 内存模型。JSR-133 使用 happens-before 的概念来阐述操作之间的**内存可见性**。在 JMM 中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在 h 阅读全文
posted @ 2023-07-02 15:42 旅途的痕迹 阅读(5) 评论(0) 推荐(0) 编辑
  2023年6月28日
摘要: ### lock前缀指令干的事。 volatile 修饰的变量在进行写操作时会多出一条如下的汇编指令: `lock addl $0x0,(%esp)` volatile就是靠这个lock前缀指令去实现可见性的,当对volatile修饰的共享变量进行写操作时,lock前缀的指令在多核处理器下会引发两件 阅读全文
posted @ 2023-06-28 23:21 旅途的痕迹 阅读(81) 评论(0) 推荐(0) 编辑