1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
答:(1)Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
(2)Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。Java之所以被称为平台无关的语言,是由于其通过JVM屏蔽了与具体平台相关的信息,使得Java编译时只需要生成在JVM上运行的目标代码(字节码),由虚拟机在具体平台运行。从而实现一次编译,处处执行。
2. JDK和JRE的区别是什么?
答:(1)Java运行时环境(JRE)。它包括Java虚拟机、Java核心类库和支持文件。用户只需要安装JRE即可运行开发好的Java程序。
(2)Java开发工具包(JDK)。包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器)。开发人员使用,可以让开发者开发、编译、执行Java应用程序。