以一本中文书翻译成英文书为例。
编译型:相当于把整本中文书直接翻译成英文书。有一个负责翻译的程序,转化为计算机可以执行的代码,这种类型的语言执行速度更快,对操作系统的要求更低。负责编译的程序相当于编译器。
解释型:相当于身边直接跟着一个翻译官,要阅读哪一句,翻译官就翻译哪一句,效率相对较慢,但是现在随着硬件的提升,解释型的效率逐渐提高。比如说网页对速度要求不高,就可以使用解释型的语言。
Java同时具有编译型和解释型的特征:Java源文件先通过编译器(javac)编译成字节码(*.class)文件,然后再通过JVM(虚拟机)进行解释运行,JVM从.class文件中读一条指令,翻译一条指令,然后再执行一条指令,这是Java的解释过程。所以Java同时具备这两种特性。