Java メモリー・モデルは、スレッドがメモリーを介してどのように対話するかについて、想定できることと想定できないことを明確にします。たとえば、あるスレッドが適切な同期を行わずにフィールドに新しい値を書き込んだ場合、その新しい値は他のスレッドによって観測可能であるとは限りません。ただし、実際には、書き込みと読み取りの間の時間、ハードウェア アーキテクチャなどによっては、同期が不十分であるにもかかわらず、他のスレッドが新しい値を読み取る可能性があります。
これにより、発見が困難で再現が困難なバグが発生する可能性があります。したがって、 Java メモリ モデルで保証されているスレッド間のメモリ同期をまったく行わない最悪のケースの JVM で Java アプリケーションを実行すると便利な場合があります。そのような最悪のケースの JVM 実装は存在しますか?