java语言程序为什么能实现跨平台?

Java程序首先经过编译,生成.class文件,称为字节码。JVM负责将字节码翻译成不同平台的机器码然后运行。不同的平台安装有不同的Java虚拟机(JVM),所以Java语言可以在不同的硬件平台和操作系统上运行。

因为Java是运行在JVM上的,每个平台都有自己的虚拟机。

我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。

注意:不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。

运行Java程序必须有JVM的支持,因为编译的结果不是机器码,必须要经过JVM的再次翻译才能执行。

跨平台的是Java程序,不是JVM。JVM是用C/C++开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的JVM。

你可能感兴趣的:(java语言程序为什么能实现跨平台?)