title: Permgen is part of heap or not?
body: <p>I have found picture from official oracle site<a href="https://i.stack.imgur.com/Nn4Ud.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Nn4Ud.png" alt="enter image description here"></a></p>
  
  <p>but in popular <a href="https://stackoverflow.com/a/2129294/2674303">SO answer</a> I have found that permanent generation is not part of heap</p>
  
  <blockquote>
    <p>Permanent Generation (non-heap): The pool containing all the
    reflective data of the virtual machine itself, such as class and
    method objects. With Java VMs that use class data sharing, this
    generation is divided into read-only and read-write areas.</p>
  </blockquote>
  
  <p>I messed with these contradictory datas. I believe that at both places data valid but with reservations. Please clarify this question for me.</p>
  
  <h2>P.S.</h2>
  
  <p>let speak only about Sun/Oracle jvms.</p>
  
  <h2>P.S.2</h2>
  
  <p>I have read explanation of jvm gcs(serial,parallel, cms and g1) and I didn't see mentions about permgen it argument to side that permanent generation is not heap part.</p>