编译型语言:程序在执行前需要编译,运行时不需要编译,直接执行编译结果,程序执行效率高。例如C , C++等。
解释型语言:不进行预先编译,以文本方式存储代码,运行时会将代码语句依次先编译再执行。例如Python,JavaScript,Perl,shell等。
Java是半编译半解释型语言,会将源文件在JVM中转化为字节码(.class文件),在程序运行时再转化为二进制文件执行。
和C#中的.net的区别是,C#编译的.net目标代码接近于二进制文件,与Java相比可移植性较差,Java是一次编译,到处执行,C#是一次编码,到处编译。