流れが全然違いますが……
>>338 は、double-checked locking 問題って結構有名だったようですね。
結局のところ、変数定義時に生成しておくのが一番らしい。

ところで、staticイニシャライザは1回しか呼ばれないですよね?
初期値設定は、コンストラクタ、staticイニシャライザどちらでもいいですよね?