java是编译型与解释型两者之间的混合语言
编译型语言
在程序运行之前,有一个单独的编译过程,将程序翻译成机器语言。以后执行这个程序时,如果有已经编译好的文件,则会直接执行之前编译好的文件。如果没有才进行编译。
解释型语言
在运行的时候将程序翻译成机器语言,边运行边执行。所以运行速度相对于编译型语言要慢一点儿。
Java的程序运行机制
一个我们正常编写的java程序文件从java源程序,变为字节码文件。中间有一个编译器,叫java编译器。通过java编译器将一个普通的java类变成一个计算机可以执行的.class文件。然后再将该类文件通过类装载器加载到java虚拟机中。jvm中有一个字节码校验器,查看你的代码是否编写正确。有问题会返回异常,没有问题就会通过jvm中的解释器,把该文件解释给我们的操作系统,然后运行。