java如何实现跨平台

时间:2021-07-03 06:22:39
作者:苏月虹
链接:https://www.zhihu.com/question/30753144/answer/53095878
来源:知乎

Java跨平台是怎样实现的呢?这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。

我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。

字节码不能直接运行,必须通过JVM翻译成机器码才能运行。

Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。

JVM也是一个软件,不同的平台有不同的版本。只要在不同平台上安装对应的JVM,就可以运行字节码文件。

同一个Java程序,通过JVM这一”中间层“,就能在不同平台上运行,实现了”一次编译,到处运行“。

JVM是一个”桥梁“,是一个”中间件“,是实现跨平台的关键,Java代码首先被编译成字节码文件,再由JVM将字节码文件翻译成机器语言,从而达到运行Java程序的目的。

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