编译型的语言包括:C、C++、Delphi、Pascal、Fortran
解释型的语言包括:Java、Basic、javascript
首先,初学者认为java需要编译,才能运行所以说java是编译型语言也没错,
但是由于java语言跨平台的特性,虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,所以说是解释型。
Java的虚拟机机制:
java语言的编译–>解释—>执行过程
java的虚拟机
定义:
编译型语言:
把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
特点是:执行速度快、效率高;依靠编译器、跨平台性差些。
解释型语言:
把做好的源程序翻译一句,然后执行一句,直至结束。
特点是:执行速度慢、效率低;依靠解释器、跨平台性好。
以此来说,java是解释型的语言来解释这一问题比较好,因为虽然java也需要编译,编译成.class文件,但是并不是机器可以识别的语言,而是字节码,最终还是需要 jvm的解释,才能在各个平台执行,这同时也是java跨平台的原因。所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。
转自:https://www.cnblogs.com/zjushuiping/archive/2013/01/06/2848478.html