title: Why's a simple change to rt.jar causing the Java Runtime Environment to crash silently?
body: <p>This is what I'm doing:</p>
  
  <ol>
  <li>extract contents of my JRE's rt.jar</li>
  <li>extract src.zip of my JDK (same version)</li>
  </ol>
  
  <p>Now, if I copy Runtime.java from the extracted src folder and compile it using javac.exe without any modifications and then put it in the extracted rt folder to finally put everything back in a jar file using jar.exe, everything works as expected. The JRE runs fine.</p>
  
  <p>However, if I make the slightest change to Runtime.java and compile it and put it in rt.jar, the JRE crashes whenever I attempt to start it. This is an example of a slight change that causes the silent crash:</p>
  
  <pre><code>/** Don't let anyone else instantiate this class */
      private Runtime() {
          System.out.println("This is a test.");
      }
  </code></pre>
  
  <p>Instead of:</p>
  
  <pre><code>/** Don't let anyone else instantiate this class */
      private Runtime() {}
  </code></pre>
  
  <p>Could anyone tell me why this is causing my JRE to crash?</p>
  
  <p>Thanks in advance.</p>