Appearance
JDK与JRE
JDK:java development kit (java开发工具)
JRE:java runtime environment (java运行时环境)
JVM:Java Virtual Machine (java虚拟机)
jdk--开发环境(核心) Java development kit的缩写,意思是Java开发工具,我们写文档做PPT雲要office 办公软件,开发当然雪要开发工具了,说到开发工具大家肯定会想到Eclipse,但是如果直接安装Eclipse你会发现它是运行不起来 是会报错的,只有安装了JDK,配置好了环境变量和path才可以运行成功。这点相信很多人都深有体会。
jdk主要包含三个部分:
第一部分是Java运行时环境,JVM
第二部分是Java的基础类库,这个类库的数量还是相当可观的
第三部分是Java的开发工具,它们都是辅助你更好地使用Java的利器jre--运行环境
jre--运行环境
jdk中的jre 如下图:jdk中包含的jre,在jre的bin目录里有个ivm.d,既然JRE是运行时环境,那么运行在哪?肯定是虚拟机上了。另,jre的lb目录中放的是一些JAVA类库的class文件,已经打包成jar文件。
第二个JRE(独立出来的运行时环境) 如下图,不管是JDK中的JRE还是JRE既然是运行时环境必须有JVM,所以JVM也是有两个的。
JVM--转换环境
Java Virtual Machine(java虚拟机)的缩写。
大家一提到JAVA的优点就会想到:一次编译,随处运行,说白了就是跨平台性好,这点JVM功不可没。 Java的程序也就是我们编译的代码都会编译为class文件,class文件就是在jvm上运行的文件,只有JVM还不能完全支持class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改的运行。
JVM也是一门很深的学问,感兴趣的同学可以深入研究,只有好处,没有坏处,
其实有时候面试官问JDK和JRE的区别的目的不是想让你解释什么名词的,而是想看看你的基础和研究Java的深浅。