java内存模型和volatile关键字

 2019-12-10 11:31  阅读(742)
文章分类:Java Core

java memory model(简称jmm)并不存在,描述了一组规则或者规范,通过这种规范,定义了程序中变量的访问方式,java工作主要是在线程上工作的,每个线程都有一个工作内存,所有的变量都存放在主内存中,线程对变量的操作都必须是在工作内存中进行,不同线程之间无法访问对方工作内存中的变量,他们之间访问必须通过主内存。线程对内存中变量的操作有八种:

lock:针对主内存中的变量,lock代表锁定线程中的变量

unlock:针对主内存的变量,代表释放线程对变量的锁定,可以接受别的线程对变量的锁定

read:针对主内存中的变量,代表了读取变量到线程的工作内存中

load:针对工作内存中的变量,将从主内存中读取的变量赋值到工作内存中的变量

use:针对工作内存中的变量,执行引擎读取变量的值使用这个操作

assign:针对工作内存中的变量,将执行引擎中的值赋值到工作内存中的变量

store:针对工作内存中的变量,将变量值存储到主内存中

write:针对主内存中的变量,将工作内存中读取的到数据写入到主内存的变量中

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> java内存模型和volatile关键字

相关推荐