基本的事情是,访问
volatile变量比访问本地变量要慢。声明局部变量时,基本上是在方法内部 缓存 易失变量的值。
在正常情况下(没有局部变量),您将访问volatile变量:
- 在第一个子句
if
之前synchronized
- 在第二句
if
里面synchronized
- 在第二个内部
if
,您为其分配值 - 在
return
声明中
现在,如果引入局部变量,则只能访问该
volatile变量三次:
- 为子句
if
前的synchronized
第一个分配局部变量时 - 当第二分配局部变量
if
里面synchronized
条款 - 在第二个内部
if
,您为其分配值
return通过返回局部变量,您不会在语句中访问它,从而可以提高速度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)