Java实现平台无关性的原理

一、概述

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

二、原理

如下图:

Java实现平台无关性的原理_第1张图片

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

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

 
  

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

java:执行字节码文件

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

 

你可能感兴趣的:(JVM,java)