title: multiple threads access array
body: <pre><code>class EverythingMustBeInAClass
  {
      private final int i = 42;
      private final int[] a = {2, 3, 5, 7, 11, 13, 17, 19};
  }
  </code></pre>
  
  <p>The fact that <code>i</code> is declared <code>final</code> guarantees that all threads see the same int value 42 (instead of 0).</p>
  
  <p>The fact that <code>a</code> is declared <code>final</code> guarantees that all threads see the same array <em>reference</em>.</p>
  
  <p>But how do I make sure that all threads see the same array <em>elements</em> (instead of 0s)? Do I have to synchronize access to the array, even if I never intend to change the array elements later on?</p>