1.并发和并行
并发:多个线程同时访问一个资源,例如秒杀场景 并行:是指一边干啥一边干啥,比如一边听音乐,一边看电子书
2.volatile理解
volatile 是java虚拟机提供的轻量级的同步机制,三大特性:
保证可见性
不保证原子性
禁止指令重排
JVM(java虚拟机) 由高并发引出-----JMM(java内存模型),本身就是一种抽象的概念,但是并不真实存在,它描述的是一组规则
或规范,通过这组规范定义了线程中各个变量的访问方式。JMM关于同步的规定: 1)线程解锁前,必须把变量的最新值刷新到主内存
2)线程加锁后,必须读取主内存最新值保存到自己的内存
3)加锁解锁必须是同一把锁
可见性是由JMM(java内存模型定义的),具体定义:
可见性 就是 一个线程改变了主物理内存中的值,其他线程能立马收到通知