title: jvm - About code cache area
body: <p>Here is some question about <strong>cache area</strong> in JVM: (<em>for <strong>hotspot Java8</em></strong>)</p>
  
  <ul>
  <li>Does all machine code that jvm could run stored in this area, or only some hot code is stored here?</li>
  <li>From some book, it says client compiler (C1) is more likely to run out of memory in cache area, while server compiler (C2) don't. I am a little confused about that. Is that because the server compiler only compile the hot part, and interrupt the other part? In that case, shouldn't the server compiler be slow?</li>
  <li>How many times the code is run before C1 &amp; C2 would compile &amp; cache them respectively?</li>
  </ul>