Java千百问_03基础语法(014)_volatile关键字有什么用

Posted 幽灵雾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java千百问_03基础语法(014)_volatile关键字有什么用相关的知识,希望对你有一定的参考价值。

点击进入_更多_Java千百问

1、volatile关键字有什么用

volatile是java语言的关键字,是变量修饰符。它是被设计用来修饰被不同线程访问和修改的变量。

volatile的作用是: 作为指令关键字,确保本条指令不会被编译器优化,且应用的所有线程读取这个变量的值是一致的

简单的说,就是禁止编译器对代码进行优化,且强迫所有线程从共享内存读取该变量(而不是读取寄存器中的备份),变量发生改变时强行存入共享内存

java内存模型需要具有以下规则:原子性(Atomicity)、可见性(Visibility)、可排序性(Ordering)。
用volatile修饰的变量,就会具有可见性,且不允许线程内部缓存和重排序,但是它不能使变量具有原子性

了解java内存

以上是关于Java千百问_03基础语法(014)_volatile关键字有什么用的主要内容,如果未能解决你的问题,请参考以下文章

Java千百问_03基础语法(019)_注解是什么

Java千百问_03基础语法(016)_main方法是什么

Java千百问_03基础语法(018)_注释是什么

Java千百问_03基础语法(020)_注解注释有什么区别

Java千百问_03基础语法(012)_transient关键字有什么用

Java千百问_01基本概念(014)_同步异步有什么区别