title: threadsafe implementation of arraylist
body: <p>So if a program does this:</p>
  
  <pre><code>    static ArrayList&lt;X&gt; a = null;
      static{
              for(;;){X x = new X(); a.add(x)}
            }
  </code></pre>
  
  <p>and the only operations called after the static initializing, on the shared list, are get() and x.t()</p>
  
  <pre><code>       X x = a.get(i); x.t();
  </code></pre>
  
  <p>and X doesn't have access to container &amp; is thread safe, that should mean that using Arraylist like this, without synchronization is thread safe, correct? </p>