1、内存交互过程
线程1将线程工作内存更新的x值更新为主内存中心线。
从线程2到主内存读取线程1之前更新的x变量。
2、八种交互操作
lock(锁定)
作用于主内存的变量,将变量标记为线程独占的状态。
unlock(解锁)
作用于主内存的变量,释放锁定状态的变量,释放后的变量被其他线程锁定。
read(阅读)
作用于主内存的变量,将变量的值从主存储器传输到线程的工作存储器,使之后的load动作使用。
load(载入)
作用于工作内存的变量,将read操作从主内存中获得的变量值放入工作内存的变量复印件中。
use(使用)
作用于工作内存的变量,将工作内存的变量值传递给执行引擎,当虚拟机遇到需要使用变量的值得字节代码指令时执行该操作。
assign(赋值)
作用于工作内存的变量,将从执行引擎收到的值赋予工作内存的变量,在虚拟机会遇到给变量值的字节代码指令时执行该操作。
store(存储)
作用于工作内存的变量,将工作内存储器中的变量值传输到主存储器中,然后由write操作使用。
write(写作)
作用于主内存的变量,将store操作从工作内存中获得的变量值放入主内存的变量中。
以上就是Java内存交互的操作,希望对大家有所帮助。更多Java学习指路: