【java面试题】JDK、JRE、JVM 的区别和联系
Java Develpment Kit -------java开发工具(提供给开发人员来用)
JRE:
Java Runtime Environment ------ java运行时环境(提供给运行java程序的用户来用)
JVM:
Java Virtual Machine ------- java 虚拟机(解释class文件为机器码,让操作系统能够执行)
下面用一张图来解释这三者的关系:
在JDK的文件中存在jre文件夹,在jre文件夹下,有两个文件夹bin和lib,它们分别是jvm和开发工具包(类库),除此之外JDK中还有java工具,如:javac、java、jconsole。
总结一句话就是JDK包含了JRE,JRE又包含了JVM
java文件运行的步骤:
-
我们程序员开发的.java 文件,由java工具中的javac编译成.class文件
-
.class文件放到JVM上面,JVM有很多不同的版本,所以java文件能一处编译到处运行
-
JVM拿到.class文件后,根据lib目录的类库,去解释class文件,将class文件翻译成机器码,然后映射到操作系统,然后程序可以正常跑起来