title: What is the --release flag in the Java 9 compiler?
body: <p>Java 9's <code>javac</code> has a new flag <code>--release</code>:</p>
  
  <pre><code>&gt; javac --help
  ...
  
  --release &lt;release&gt;
      Compile for a specific VM version. Supported targets: 6, 7, 8, 9
  </code></pre>
  
  <p>How is it different from <code>-source</code> and <code>-target</code> flags? Is it just a shortcut for <code>-source X -target X</code>?</p>