总结: 1、保证可见性(JMM) 2、不保证原子性 (核心难点:原子类) 3、禁止指令重排 (核心难点:说出单例模式。说出CAS。说出CPU原语) 1 // 验证volatile 可见性 2 public class JmmDemo { 3 private volatile static int n ...
分类:
其他好文 时间:
2020-03-09 18:14:01
阅读次数:
65
Volatile 关键字 Volatile 是java虚拟机提供的轻量级同步机制(保证可见性,不保证原子性,禁止指令重排) 可见性之前需要了解 JVM(java虚拟机) JMM(java内存模型) javamemory model 不真实存在描述的一种规则规范 定义了程序中各个变量(包括实例字段静态 ...
分类:
编程语言 时间:
2020-03-06 19:28:39
阅读次数:
82
Java多线程的三大特性,线程池,JMM(Java内存模型)
分类:
编程语言 时间:
2020-02-24 22:20:21
阅读次数:
123
一、 上下文切换问题:时间片一般是几十毫秒,任务从保存到再加载的过程就是一次上下文切换,多线程竞争锁时会引起上下文切换,时间片到了会引起上下文切换 减少上下文切换:1、无锁并发线程 2、CAS算法 3、使用最少线程 4、协程 死锁问题:1、尽量避免一个线程同时获得多个锁 2、尽量避免一个线程在锁内同 ...
分类:
其他好文 时间:
2020-02-22 20:01:20
阅读次数:
60
可见性:可见性指的是一个线程对主内存的修改可以被其他线程及时地察觉到。 导致共享变量在线程间不可见的原因: 1、线程交叉执行 2、指令重排序结合线程交叉执行 3、共享变量的值没有及时更新到主存中 Java内存模型:Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规 ...
分类:
编程语言 时间:
2020-02-20 11:41:36
阅读次数:
79
1.java内存模型是什么? java内存模型即Java Memory Model,简称JMM,其规范了Java虚拟机与计算机内存时如何协同工作的,规定了一个线程如何和何时看到其他线程修改过的值,以及在必须时,如何同步访问共享变量。 2.JVM的内存分配 在解释Java内存模型之前,我们先了解下JV ...
分类:
编程语言 时间:
2020-02-03 13:42:10
阅读次数:
93
Java内存模型(Java Memory Model)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。 JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内用于存储线程私有的数据,而Java ...
分类:
编程语言 时间:
2020-01-31 19:15:35
阅读次数:
129
1、Java内存模型是什么? Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。Java内存模型对一个线程所做的变动能被其它线程可见提供了保证cpu ...
分类:
其他好文 时间:
2020-01-31 18:33:38
阅读次数:
82
In ERP, create a sales BOM via tcode CS01, BOM type choose 5 Sales BOM For BOM header, choose material 1419. Maintain two component material 1421 and ...
分类:
其他好文 时间:
2020-01-30 17:16:05
阅读次数:
54
常用概念线程安全停止线程守护线程多线程通讯锁Synchornized悲观锁乐观锁共享锁/独占锁读写锁的机制死锁LockReentrantLockConditionCountDownLatchCyclicBarrier信号量SemaphoreThreadLocal高并发线程安全与不安全的类不安全的sp... ...
分类:
编程语言 时间:
2020-01-28 12:26:58
阅读次数:
74