1、Java属于编译型语言还是解释型语言?
(1)Java即是编译型语言(把Java源代码编译成字节码,也就是*.class文件),又是解释型语言(由解释器解释字节码运行);
(2)Java既不是纯粹的编译型语言(不生产特定平台的机器码),也不是纯粹的解释型语言(解释的不是源代码而是字节码)
2、如何理解Java虚拟机?
(1)Java语言里负责解释执行字节码文件的是Java虚拟机(JVM Java Virtual Machine);
(2)Java编译器负责生成虚拟机能理解的代码,然后由虚拟机解释执行,所有平台上的JVM向编译器提供的编程接口都相同;
(3)在一些虚拟机的实现中,会把虚拟机代码转换成特性系统的机器码执行,从而提高执行效率;
3、Java如何实现的跨平台?
(1)Java源代码编译成平台无关的字节码,字节码只面向JVM,不同平台上的JVM有不同的实现,但他们的接口相同;
(2)只要在不同平台上实现了JVM,编译后的Java字节码就可以在这些平台上运行,不需要在编译(一次编译,到处运行)