例を考えてみましょう:
class SomeClass{
private Foo val;
String getVal(){
if(val == null){
synchronized(this){
if(val ==null)
val = generateFoo();
}
}
}
Foo generateFoo(){
//some code
return new Foo();
}
}
この場合、揮発性は必要ですか?