title: What's the difference between requires and requires transitive statements in Java 9?
body: <p>What's the difference between <strong><em>requires</em></strong> and <strong><em>requires transitive</em></strong> module statements in module declaration?<br><br>
  For example:</p>
  
  <pre><code>module foo {
      requires java.base;
      requires transitive java.compiler;
  }
  </code></pre>