title: How native code is converted into machine code in jvm
body: <p>I have read that some article says</p>
  
  <ol>
  <li>jvm converts byte code to machine code </li>
  <li>jvm converts bytecode to native code</li>
  <li>jvm converts bytecode to system calls which in turn os communicate with hardware</li>
  </ol>
  
  <p>In the above which one is true? How do translations happen exactly, and what is native code? Is it assembly language code?</p>