Java:在双重检查惯用语中使用局部变量

Java:在双重检查惯用语中使用局部变量,第1张

Java:在双重检查惯用语中使用局部变量

基本的事情是,访问

volatile
变量比访问本地变量要慢。声明局部变量时,基本上是在方法内部 缓存 易失变量的值。

在正常情况下(没有局部变量),您将访问volatile变量:

  1. 在第一个子句
    if
    之前
    synchronized
  2. 在第二句
    if
    里面
    synchronized
  3. 在第二个内部
    if
    ,您为其分配值
  4. return
    声明中

现在,如果引入局部变量,则只能访问该

volatile
变量三次:

  1. 为子句
    if
    前的
    synchronized
    第一个分配局部变量时
  2. 当第二分配局部变量
    if
    里面
    synchronized
    条款
  3. 在第二个内部
    if
    ,您为其分配值

return
通过返回局部变量,您不会在语句中访问它,从而可以提高速度。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5616147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存