一般计算机高级程序语言的执方式分为:编译型 、解释型。
编译型:
这种语言一般使用专门的编译器,针对特定的平台来将代码一次性编译成可以被该平台硬件执行的机械码,并且把该编译过来的机械码包装成一个可以执行的程序,这个过程就是编译。编译生成的可以执行的程序可以脱离开发环境,在特定的平台上独立运行。
这种编译型高级程序语言,不能跨平台,但是编译出来的程序具有高效率。
C、C++等都是这种语言。
解释型:
该语言和编译型语言的区别在与,他不是一次性编译代码,而是需要一个专门的解释器来对源程序逐行解释成机械代码并立即执行的语言,而且每次执行都需要编译一次,所以该语言的效率比起编译型语言效率要低,而且不能脱离解释器运行。不过就是因为他依靠与解释器,所以该语言跨平台比较容易。这种语言的程序移植起来很方便。
Java语言属于那种语言?
答:Java既不是编译型也不是解释型。
因为java程序的执行过程中,既需要编译,也需要解释。Java语言编写的程序需要经过编译成一种与平台无关的字节码“.class文件”。这种class文件不是可执行的文件,它同时又需要java特定的解释器来进行解释执行。
从上图就可以看出来,java语言的解释器就是JVM了,它是负责来解释执行class文件的java虚拟机,不同平台上面的JVM向编译器提供相同的编程接口,而编译器只需要面向虚拟机就可以了。在一些虚拟机中,还会将虚拟机的代码转化成特定系统的机器码执行,从而提高效率。