我们都知道Java语言是跨平台的,但是为什么Java能跨平台呢?
因为Java程序编译之后的代码是不能被硬件系统直接运行的代码,而是一种“中间码”—–字节码。然后不同的硬件平台上转有不同的Java虚拟机(JVM),所以我们在下载JDK的时候会有提供不同平台的版本。不同硬件平台的JVM可以把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java是跨平台的。
正因为Java代码不是直接运行在CPU上,而是运行在Java虚拟机上。
Javac先把Java文件编译成二进制字节码的class文件,jvm就解释执行class文件。
所以它的代码可以不经修改,而在不同的平台运行。
总结:Java之所以是跨平台的,本质是因为JVM不是跨平台的。
除非注明,饮水思源博客文章均为原创,转载请以链接形式标明本文地址