0
私は静的変数を持っています。私は、初期化を同期したいが、それが遅延読み込みされているようにしたい。それで最終的には成立しない。静的変数の代入のみを同期する
これは正しいか、許容可能なアプローチですか?
ここにコードがあります。
public class Test {
private static Object staticObj;
public static Object getStaticObj() throws Exception{
if(staticObj == null){
assignNewStaticObj();
}
return staticObj;
}
private static void assignNewStaticObj(){
synchronized(staticObj){
if (staticObj == null) {
staticObj = new Object();
}
}
}
}
コードの書式 –