定义
Java Virtual Machine ,Java 程序的运行环境(Java 二进制字节码的运行环境)。
好处
一次编译,处处执行
自动的内存管理机制,垃圾回收机制
数组下标越界检查(相比数组越界保错和内存覆盖,肯定是内存覆盖更加严重)
多态(JVM中用虚方法的机制实现多态)
比如我们的C语言就没有数组越界检查的功能
数组的下标是有范围限制的。
数组的下规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1。
所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。
C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就 是正确的,