计算机高级语言可以分为解释型和编译型两种:
编译型:就是在程序执行之前,有一个单独的编译过程Compile,将高级语言的源代码编译成机器码,以后执行这个程序的时候就不用再编译了;
如C,C++,Objective-C,Pascal
解释型:程序每次运行的时候都需要解释成机器码,所以每次执行都需要这么解释一次。所以运行效率相对于编译型较低;如ruby,python
然而Java并不单独属于这两种的其中一种,或者说半编译半解释吧;
java的源代码----由javac编译---->得到.class文件(字节码文件,这种文件与平台并没有关系)----由java解释执行(JVM负责解释的)--->最后得到特定平台的机器码;