title: Volatile write = volatile read
body: <p>I have seen something like <code>fld = fld</code> a few times before but in all these cases the dummy write can be eliminated with a better performance.</p>
  
  <pre><code>public class Tst{
      public volatile int fld = 1;
  
      public void m(){
           //... Something
          fld = fld;
          //... Something else
      }
  }
  </code></pre>
  
  <p>The question is if such dummy write has its use cases or this is some workaround? To me this seems to be exactly the same as (since no stores and loads can be reordered across the dummy write according to JMM)</p>
  
  <pre><code>public class Tst{
      public volatile int fld = 1;
      private static final Unsafe U;
  
      public void m(){
           //... Something
          U.fullFence();
          //... Something else
      }
  }
  </code></pre>