web-dev-qa-db-ja.com

文字列型参照を揮発性のあるものとしてマークしていますか?

Javaオブジェクトを揮発性として宣言しないでください。結果として、参照のみが揮発性になるためです。以下にいくつかの例を示します。

link-1link-2link-

ソナーが示唆していることは、「非プリミティブフィールドは「揮発性」であってはならない」ということですが、説明されている問題は可変オブジェクトに言及していることも示唆しています。そうではない。

私の質問は、Java Stringを揮発性として宣言しても安全ですか?

4
jaros

Java Stringは最終的なクラスであり、不変でスレッドセーフです。
文字列の中間状態はなく、マルチスレッドの場合にlockまたはsynchronizeと混同されません。それをする必要はありません。

0
PatrickChen