JMM
JMM(java memory model)
-
是什么
JAVA是多线程的,每个线程操作的是自己的工作内存,线程不能直接操作主内存。由JMM通过LOAD/STORE操作在主内存之间传递值。主内存里放的是所有变量如实例、静态变量等。好处是屏蔽了不同厂商操作系统、硬件内存访问细节,能达到多平台兼容的效果。
-
JMM定义了什么
- 原子性、有序性、可见性
-
八种内存交互操作
- 主内存和工作内存:直接操作主内存:Lock/Unlock、read/write。通过Load/Store到工作内存
- 工作内存和线程:Use/Assign