(1)クラスの初期化が終わるまで、クラスオブジェクトはロックされ、
他のスレッドはそのクラスにアクセスできない
(2)ロックが解放されるとき、そのスレッドのキャッシュはメインメモリに書き込まれる
(3)スレッドがはじめての「変数」(記憶領域)にアクセスするときは、メインメモリから読まれる

以上の3点から、初期化したスレッドと異なるスレッドが
(もうそれ以上変わらない)フィールドにアクセスした場合、
正しくアクセスできると思われる。

ダブルチェックの話は、
オブジェクトの保持するデータがまだメインメモリに書き込まれていないのに、
オブジェクトへの参照がメインメモリに書き込まれたときに
(データの書き込みの前後逆転は、最適化の余地のために残されている)、
他のスレッドから、その参照からオブジェクトの保有データにアクセスすると
未初期化状態のものにアクセスできてしまうことを言うのだと思う。