title: old generation space utlization in JVM
body: <p>As far as I know, for space in old generation of JVM, it could be utilized for two purposes,</p>
  
  <ol>
  <li>used for objects promoted from young generation to old generation?</li>
  <li>used for new object allocation in special use cases <a href="https://stackoverflow.com/questions/9053144/will-i-encounter-java-lang-outofmemoryerror-even-with-no-lack-of-memory">(https://stackoverflow.com/questions/9053144/will-i-encounter-java-lang-outofmemoryerror-even-with-no-lack-of-memory</a>)</li>
  </ol>
  
  <p>My questions are,</p>
  
  <ol>
  <li>Are there any other use cases to which will utilize space in old generation?</li>
  <li>I think there is a memory copy involved to copy objects from young generation to old generation, is it a deep copy or a shallow copy?</li>
  </ol>
  
  <p>thanks in advance,
  Lin</p>