编译型语言:在程序运行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序时,就不用再进行翻译了。(C,C++等,需要经过编译(compile)、链接(linker)这两个步骤)
解释型语言:是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(JavaScript、Python、Erlang、PHP、Perl、Ruby)
那么Java语言是编译型语言还是解释型语言呢?
可见CSDN奋斗中的编程菜鸟的看法:Java是解释型语言Java语言是编译型语言还是解释型语言?(Java程序执行过程)_菜鸟的后花园-CSDN博客_java是编译语言还是解释语言
而这个问题还是有争议的
由Java的代码执行过程 ,一个Java 代码的执行过程是由
. Java-->. class-->对应平台机器码 ; . Java-->. class是由 Javac 编译,这个过程符合编译型语言的特点(一次性编译,注意 并未编译为实际平台的机器码)
而. class-->对应平台机器码 的这一过程 是由Java解释执行 (逐行解释为特定平台机器码)这一过程符合解释语言的特点 ;
所以我认为 Java既是编程语言 ,又是解释语言。