跨平台的实现涉及Java虚拟机(Java Virtual Machine,简称 JVM)。
JVM是一个软件,不同的平台有不同的版本。我们编写的Java代码,编译后会生成 .class 文件(字节码文件)。Java虚拟机负责将字节码文件翻译(转译)成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行Java程序。
在这个过程中,Java程序没有任何改变,仅仅是通过JVM,就能在不同平台上运行,真正实现了“一次编译,到处运行”。
JVM是实现跨平台的关键。
注意:编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。
所以,运行Java程序必须有JVM的支持,因为编译的结果不是机器码,必须要经过JVM的再次翻译才能执行。
跨平台的是Java程序,不是JVM。
来源:CSDN
作者:Reverse train.
链接:https://blog.csdn.net/xylyaya/article/details/103773583