title: Who will do the Auto-boxing/unboxing?
body: <p>Is it the compiler or the runtime do the auto-boxing/unboxing?</p>
  
  <p>Consider the following example:</p>
  
  <pre><code>public Integer get() {
      return 1;  //(1)
  }
  </code></pre>
  
  <p>At (1), the primitive integer value will be converted into something like <code>new Integer(1)</code>, and returned. That's effectively some kind of implict consverion known as auto-boxing , but who will do that? The compiler, or the JVM?</p>
  
  <p>I was just starting to learn the ASM, and such boxing issue really confuse me.</p>