一、概述

        java是可以在各个平台运行的,最常见的情况就是我们在windows本地编码,将文件发布到linux系统进行发布。同一份代码运行在了两个不同的环境。这就是Java的平台无关性。

二、原理

如下图:

通过JVM(虚拟机)实现平台无关,Java源码会被编译为字节码文件(.class文件),可以被不同平台的JVM进行解析,不需要重新编译,JVM会把字节码文件解析成本地机器码执行

为什么不直接使用.java文件,一方面因为.class是编译过的文件,不容易出错。另外就是其他编程语言转换为.class文件在jvm上执行。

 

javac:把Java源码文件编译成字节码文件(.class)

java:执行字节码文件

javap:反编译字节码文件,可查看更多的信息

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐