发展历程 什么是挥发物? -技术百科的定义

什么是挥发物? -技术百科的定义

目录:

Anonim

定义-挥发物是什么意思?

易失性是Java编程语言中的关键字,它指定可以由多个线程异步更改与类关联的成员变量。 声明成员时,代码中的volatile关键字用作修饰符。 关键字是从根本上保留的单词,在编译器的上下文中具有不同的含义。

每当变量表示某种依赖于环境或系统的变量时,就使用volatile关键字,例如简单的计数器和时钟。

技术百科解释挥发性

volatile关键字可确保对成员变量的每次读取访问均返回其最新值。 当最近的更改是使用其他线程完成的时,此方法无效。 如果成员变量未声明为volatile,则线程将无法识别使用其他线程对其所做的修改。

对于双精度或长整数成员,volatile关键字还确保虚拟机不会生成两个连续的32位写入,而只会创建一个64位写入。 如果这不可行,那么JVM实现将继续确保此功能的原子性,以使旧的下半部分不会被某些volatile double或long的新的上半部分读取。

易失性读写建立了先发生后关系。 在访问易失性对象之前,主存储器与缓存的变量之间将发生同步,就像在进入同步块之前或离开同步块之后发生的一样。 这意味着可以安全地发布易失性对象而无需同步; 也就是说,当线程访问易失性对象时,该对象的成员也会被更新。

当将变量描述为易失性时,JVM和Java编译器将执行以下两项操作。

  1. 编译器无法最大化与该变量有关的语句和表达式。
  2. JVM同步变量。

volatile的优点如下:

  • 轻巧
  • 它导致读写的开销非常小,但仍比锁定快。
  • 易挥发物可以抵抗死锁。
什么是挥发物? -技术百科的定义