众所周知,C/C++是编译型的语言,而python是属于解释型语言;然后Java是先经过编译,生成字节码,之后再在虚拟机上运行,那么Java到底属于编译型还是解释性?
这里首先给出编译型语言和解释型语言的特点:
编译型语言:执行速度快、效率高;依靠编译器、跨平台性差些。
解释型语言:执行速度慢、效率低;依靠解释器、跨平台性好。
下面这张图是Java代码执行的过程:
可以看出经过解释后生成的是.class文件,这是字节码。这种文件还不是机器直接能识别的二进制代码,之后还要在虚拟机上进行解释,所以我们将Java归在解释型的编程语言这一类;
正是由于最后字节码的执行需要虚拟机的解释,所以才形成了Java的一大特点---Write Once,Run any Where,这也是跨平台的重要原因。
2021-05-18 16:40:40