1.JDK 和 JRE 与 JVM有什么区别和关系?
JDK
JDK:Java Development Kit
含义:Java开发工具包
没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。
JRE
全名:Java runtime environment
含义:Java运行环境
JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
JVM
全名:Java Virtual Machine
含义:Java虚拟机
它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
只有JVM不能运行java程序, 因为在解释class的时候需要调用JRE中lib的类库
class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。