首先要明白编译型语言和解释型语言的定义:
**编译型语言:**把做好的源程序全部编译成二进制代码的可运行程序,然后直接运行这个程序;特点:执行速度快、效率高;依靠编译器、跨平台性差。
**解释性语言:**把做好的源程序翻译一句,然后执行一句,直至结束;特点:执行速度慢、效率低;依靠解释器、跨平台性好。
对于java而言:Java代码都是要编译的,.java不经过编译就无法执行;java代码编译后不能直接运行,它是解释运行在JVM上的。
所以严格意义上来说,Java 是一种解释型语言;首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行。javac->编译 jvm->解释(java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台)
(java是一种面向对象的编程语言)