文章目录
一、谈谈Volatile
1)、JMM 是什么
JMM (Java 内存模型)是一种抽象的概念 并不真实存在,它描述的是一组规则或规范。
- 具体的 JMM 规定如下:
- 所有 共享变量 储存于 主内存 中;
- 每条线程拥有自己的工作内存,保存了被线程使用的变量的副本拷贝;
- 线程对变量的所有操作(读,写)都必须在自己的 工作内存 中完成,而不能直接读写 主内存 中的变量;
- 不同线程之间也不能直接访问对方工作内存中的变量,线程间变量值的传递需要通过主内存中转来完成
2)、三道面试题
-
并发和并行的区别是什么?
- 并发:多个任务交替进行
- 并行:并行则是指真正意义上的“同时进行”
-
并发编程三要素?(重点)
- 1)原子性
- 2)可