计算机高级语言类型主要有编译型和解释型两种,Java是两种类型的集合,在Java中处理代码的过程如何1-4所示。

Java程序的运行机制和Java虚拟机_Java

从图1-4中可以看出,在Java中源文件名称的后缀为.java,之后通过编译使.java的文件生成一个 *.class文件,在计算机上执行 *.class文件,但是此时执行 *.class的计算机并不是一个物理上可以看到的计算机,而且是Java自己设计的一个计算机——JVM,Java也是通过JVM进行可移植性操作的。

在Java中所有的程序都是在JVM(Java Virtual Machine)上运行的。JVM是在一台计算机上由软件或硬件模拟的计算机。Java虚拟机(JVM)读取并处理经编译过的、与平台无关的字节码class文件。Java解释器负责将Java虚拟机的代码在特定的平台上运行。JVM的基本原理如图1-5所示。

Java程序的运行机制和Java虚拟机_Java_02

从图1-5中可以发现,所有的 *.class文件都是在JVM上运行的即 *.class文件只需要认识JVM,由JVM再去适应各个操作系统。如果不同的操作系统安装上符合其类型的JVM,那么以后程序无论到哪个系统操作上都是可以正确执行的。

提示:关于Java可移植性的简单理解。
有些读者可能很难理解以上的解释,其实这个过程就类似于下面的一种情景:
现在有一个中国富商,他同时要和美国、韩国、俄罗斯、日本、法国、德国等几个国家洽谈生意,可是他不懂这些国家的语言,所以针对于每个国家请了一个翻译,他说的话就只对翻译说,不同的翻译会将他说的话翻译给不同国家的客户,这样富商只需要说一句话给翻译,那么就可以同几个国家的客户沟通了。