1
public class UnsafeLazyInitialization {
private static Resource resource;
public static Resource getInstance() {
if (resource == null) //1
resource = new Resource(); //2
return resource; //3
}
}
- は、それはイエス親切なぜ、どのように理解するために私を助ける場合はインスタンスリターンヌルを得ることは可能でしょうか?
いいえ、nullを返しません。複数のスレッドから呼び出すと、 'Resource'のインスタンスが複数作成されるかもしれませんが、nullは返されません。 – khelwood
これは、Thread1が// 3の直前で、Thread 2がリソースをnullにリセットした場合にのみ発生します。しかし、与えられたコードを考慮すると、それだけではありません。 – Fildor
私はいくつかのウェブサイトで私はjvmのconcepetは、書き込まれた原因になることができます –