JAVA运行原理

Java程序的工作原理

Java拥有一个虚拟计算机系统——JVM。

JVM是Java的虚拟机,是一个可以执行Java字节码的虚拟机进程。

用Java编写的程序(存放在扩展名为java的文件中)经过编译器(即JDK根目录bin文件夹中的javac.exe文件)编译成字节码文件(即扩展名为class的文件)。

这个字节码文件不是针对具体平台的,而是针对抽象的Java虚拟机的,在Java虚拟机上运行,在不同类型的平台上安装不同的Java虚拟机,这些不同的Java虚拟机屏蔽了各个不同平台的差异,从而使编译过的Java程序具有平台无关性,即Java虚拟机在执行字节码时,把字节码解析成具体平台上的机器指令执行。

显而易见,java的程序的优点即JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行。这个也是java最大的特色跨平台性,也就是一处编写,处处运行。


如图所示:.java的源程序通过Java编译器生成了.class的字节码文件,该字节码在类装载器上运行,再经过字节码校验器检验最终通过解释器将字节码解释为复合当前操作系统的机器码。

总之,Java语言是一种先编译后解释型语言!