title: Correct way to use VarHandle in Java 9?
body: <p>I have been spending much time investigating some of <em>Java 9's</em> new features, but I didn't find any useful and practical examples.</p>
  
  <p>Consider next code snippet that creates a <em>VarHandle</em>:</p>
  
  <pre><code>class Counter {
      int i;
  }
  
  class VarHandleInAction {
      static final VarHandle VH_COUNTER_FIELD_I;
  
      static {
          try {
              VH_COUNTER_FIELD_I = MethodHandles.lookup()
                  .in(Counter.class)
                  .findVarHandle(Counter.class, "i", int.class);
          } catch (Exception e) {
              // ...
          }
      }
  }
  </code></pre>
  
  <p>But what's next? I mean, how to use this <em>Variable Handle</em>? Can you provide any real examples?</p>