【Java入门笔记】P3 - 编译型与解释型
§P-3 编译型和解释型
计算机的语言若粗略地来划分,还有一种划分方式,即编译型和解释型语言的分类方式。
这两种方式各有利弊。编译型语言是将高级语言“翻译“为机器能读懂的机器语言,让计算机能够高效地执行并调用各种函数和功能,C 语言是经典的编译型语言,这种语言特性使得它的运行效率得到提高,一般用于编写操作系统。但这种方式对于即时变化的程序来说,每一次的变化和改动就需要对程序进行重编译后才能运行,这是它的最大的弊端所在。
解释性语言的特点是“即时翻译”,程序运行到哪一步,就“翻译”哪一步的语言,这对计算机的性能要求较高。早期的计算机性能不高,无法支撑起即时的翻译,因此早期的程序都是经过了预编译后的产品,但随着计算机的发展,计算机性能的提高,解释型语言的处理速度和效率有了显著提高,在处理即时响应、对速度要求快的请求时,解释型语言也可以很好地发挥自己的作用。
值得一提的是,现在高级编程语言对于这类划分并没有早期地那么明显了,一些语言已经呈现了既含有编译型的特点,也含有解释型的特点。下面来简单了解下 Java 程序的运行方式。
3.1 Java 程序的运行方式
Java 语言的这一特点,是决定于它的程序的运行方式。Java 语言的运行方式如图所示:

简单来说,源程序经过 Java 编译器的编译后,形成一个二进制的.class字节码文件(介于第三代编程语言和机器码之间的语言)。运行时,JVM 将其装载在类装载器上,随后,字节码校验器检验代码是否正确书写。确认无误后,解释器将逐句执行并反馈至操作系统上。
浙公网安备 33010602011771号