因为java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”--字节码。不同的硬件平台上装有不同的java虚拟机(JVM),由JVM来把字节码再翻译成所对应的硬件平台能够执行的代码,因此java可以跨平台运行。