title: where static objects are stored in java
body: <p>I'm reading a book "Thinking in Java" which says
  objects are stored on heap and static variable on stored on some fixed location say static storage so that they can be available for entire time program is running.</p>
  
  <pre><code>class Myclass{
  
  static int x =0;        //stored on static storage
  Myclass obj = new Myclass(); //stored on heap
  
  }
  </code></pre>
  
  <p>Although making a object, static will not be a good idea as far as OOPS is concerned. Putting this aside for a while. there comes my questions that </p>
  
  <ol>
  <li>where does object which is declared static is stored.</li>
  <li>how does JVM does instantiation in this case.<br>
  <code>class Myclass { static Myclass obj = new Myclass();    //no man's land }</code></li>
  </ol>