JAVA既需要编译也需要解释,因此并非编译型语言和解释型语言。 JAVA源代码经过指令javac后编译生成的是平台无关的二进制码,当需要运行在特定平台时,再将生成的二进制码用java命令解释为特定平台的机器码,因此不同平台的解释器(JVM)不同。 JAVA编译产生二进制码,避免了解释型语言每次运行都需要解释,性能得到了提高,并且依然保留解释过程,使其能够跨平台运行。