必须的,没有虚拟机Java怎么跑,Java所宣称的一次编译到处执行就是依赖于不同平台下都有不同的虚拟机来执行,安卓里也有一个虚拟机
使用java编写的程序经过编译后是字节码,这些字节码在JVM中运行时可以的,但是在不同的OS中,JVM是不同的。但是对于编译后的字节码是无异。最终执行的命令的是JVM执行调用OS命令的。所以只要有JVM在不同的OS中都是可以的。