JAVA到底是编译型语言还是解释性语言?

有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。

对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言。也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。

所以Java的执行经历了编译和解释的过程,是一种先编译,后解释执行的语言,不可以单纯归到编译性或者解释性语言的类别中。

你可能感兴趣的:(JAVA到底是编译型语言还是解释性语言?)