是否将字符串类型引用标记为易挥发?

问题描述 投票:2回答:2

我已经阅读了一些文章和文章,说我们不应该将Java对象声明为volatile,因为结果是,只有引用才变成volatile。这里有一些例子:

link-1link-2link-3

Sonar建议'非原始字段不应该是“易失的””,但是,它也表明所描述的问题涉及可变对象'类似地,将可变对象字段标记为volatile意味着对象引用是可变的,但是对象本身不是'。

我的问题是:将Java String声明为volatile是否安全?

java string immutability volatile
2个回答
0
投票

因为String对象是不可变的,所以只有引用由=+=之类的运算符修改。因此,挥发物对String是安全的,因为它适用于参考本身。这也适用于其他不可变对象,就像适用于基元一样。


-1
投票

Java字符串是最终类,线程安全。不需要这样做。

© www.soinside.com 2019 - 2024. All rights reserved.