Why does Java limit the size of a method to 65535 byte?
<p>I just compiled the following code</p>

<pre><code>public class A {
    public static void main(String... args) {
        int i = 3;
        ++i; 
        ++i;
        ++i;
        ++i;
        ++i;
        ++i;
        ++i;
        ++i;
        // repeat writing the expression ++i for 20,000 times

        System.out.println(i);
    }
}
</code></pre>

<p>And got the following error message</p>

<blockquote>
  <p>The code of method main(String...) is
  exceeding the 65535 bytes limit</p>
</blockquote>

<p>Why does Java implement this limit? I don't see the rational since Java does include a goto_w instruction.</p>
