String s =“foobar”原子?

时间:2011-09-14 18:59:36

标签: java atomic

String s = "foobar";原子?

分配对象引用应该是,但我不确定。

感谢。

2 个答案:

答案 0 :(得分:19)

即可。所有参考分配在java中都是原子的。

请注意,像String s = new String("foobar")这样的复合语句不是原子语句,因为它包含对象创建和单独的赋值。

另请注意,“来自JLS-17.7

的”长和双变量的赋值可能不是原子的“

答案 1 :(得分:1)

是的,但是如果你担心竞争条件,你至少应该知道'同步'方法/块。

请注意,这不是原子的,因为它包含两个操作:

String s = string_a + string_b;