title: How is String concatenation implemented in Java 9?
body: <p>As written in <a href="http://openjdk.java.net/jeps/280" rel="noreferrer"><em>JEP 280: Indify String Concatenation</em></a>:</p>
  
  <blockquote>
    <p>Change the static <code>String</code>-concatenation bytecode sequence generated by <code>javac</code> to use <code>invokedynamic</code> calls to JDK library functions. This will enable future optimizations of <code>String</code> concatenation without requiring further changes to the bytecode emmited by <code>javac</code>.</p>
  </blockquote>
  
  <p>Here I want to understand what the use of <code>invokedynamic</code> calls is and how bytecode concatenation is different from <code>invokedynamic</code>?</p>