Java 跨平台

勿以事小而不为

一直都说Java是跨平台的,开始学的时候,老师也是这么教的,但是Java为什么能够跨平台呢?

java之所以能够跨平台,是因为java有不同版本的jvm,比如有windows的,linux的。

你在windows平台写的java代码,经过jvm虚拟机,编译成javac文件(字节码文件)后,可以在不同版本的java虚拟机上进行运行,达到跨平台的目的。

简单的举例如下:

先在linux上写一算简单的java代码:

public class helloworld {

    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

使用linux的java jvm虚拟机编译成javac文件

 先在linux上运行效果如下:

 然后把javac文件scp到windows上。

 如下:

 在windows上运行helloworld.class 文件

 与在linux上效果一样。

========windows 上编译,在linux上运行========

同样的代码先在windows上进行编写,编译,然后运行,如下:

 把字节码文件scp到linux机器运行:

登录到linux机器上运行字节码文件:

小插曲:

如果你的电脑上装有scala,可以使用scala进行运行一下。

会发现依然可以运行。

前提是linux上和windows上安装的jvm版本要一致,不然可能会出现一些意想不到的错误。

结论,无论是在windows,还是在linux上编译的字节码文件,都可以在双方的平台上运行。

以上:)

原文地址:https://www.cnblogs.com/suzhenxiang/p/14273802.html