java代码不是直接运行在CPU上,而是运行在java虚机(简称JVM)上的。 java是先把 .java文件编译成二进制字节码的 .class文件,jvm就解释执行class文件。 因为.java文件编译后形成的.class文件是一致的 。不同的操作系统有对应不同的JVM,在各个系统对应的JVM上都可以被识别解释然后运行,所以可以实现跨平台(在UNIX用UNIX的jvm,在linux上用linux的jvm,在windows上用windows的jvm)
参考1:https://blog.csdn.net/banjing_1993/article/details/82349013