What does this statement mean in Java?
<p>Suppose there is an  array declaration:</p>

<pre><code>int [] a = new int[3]; 
</code></pre>

<p>I'm reading a book that says the reason we need to explicitly create arrays at runtime is because we cannot know how much space to reserve for the array at compile time. So, in this case above don't we know we need to reserve 3 times the size of int of the underlying java platform ?  </p>
