title: When should we call System.exit in Java
body: <p>In Java, What is the difference with or without <code>System.exit(0)</code> in following code? </p>
  
  <pre><code>public class TestExit
  {      
      public static void main(String[] args)
      { 
          System.out.println("hello world");
  
          System.exit(0);  // is it necessary? And when it must be called? 
      }      
  }
  </code></pre>
  
  <p>The <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#exit(int)" rel="noreferrer">document</a> says: "This method never returns normally." What does it mean? </p>