为什么在编译期的时候,编译器不去检查数组下标是否超出范围,而要把这个问题留给JVM去检查,并且抛出异常?这个问题貌似在编译期就可以得到解决,Java之所以被设计成这样,肯定有他的道理,那么是出于什么考虑呢?