勿以事小而不为
一直都说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上编译的字节码文件,都可以在双方的平台上运行。
以上:)