title: What's the difference of intern() between JDK 1.6 and JDK 1.7?
body: <p>Java code</p>
  
  <pre><code>String s1 = new StringBuilder("computer ").append("software").toString();
  System.out.println(s1.intern() == s1);
  String s2 = new StringBuilder("ja").append("va").toString();
  System.out.println(s2.intern() == s2);
  </code></pre>
  
  <p>In JDK 1.6,the result is </p>
  
  <pre><code>false
  false
  </code></pre>
  
  <p>but int JDK 1.7,</p>
  
  <pre><code>true
  false
  </code></pre>
  
  <p>Could you please tell me the reasons?</p>