From: markspace on
Andreas Leitgeb wrote:

> Assuming that Thread B ever sees a non-null value in sc, I'd be very
> surprised, if it then might ever see a *non-fully-initialized* instance,
> even if SomeClass *doesn't* have final fields.


Here's a video that describes some of the Java memory model, and also
talks about re-ordering writes by a JVM:

<http://video.google.com/videoplay?docid=8394326369005388010#>