一篇文章让你彻底了解JDK JRE JVM三者之间的关系

名词解释

1.JDK(Java Development Kit)
JDK(Java开发工具包)可谓是整个Java程序开发的核心内容,JDK主要包含了JRE、Java的系统类库以及对Java程序进行编译以及运行的工具,主要是javac.exe和java.exe命令工具的使用,这两个工具的具体使用方法可以参考我的上一期博客
2.JRE(Java Runtime Environment)
JRE(Java运行环境)主要是让操作系统运行Java应用程序,其内部包含了一个JVM(java虚拟机),也就是说JRE只负责对已经存在的Java源程序进行运行的操作,它不包含开发工具JDK,对JDK内部的编译器、调试器和其它工具均不包含。
3.JVM(Java Virtual Machine)
JVM(Java虚拟机)顾名思义,是一种模拟出来的虚拟计算机,它通过在实际的计算机当中模拟实现某些计算功能来提现它自身的作用,引入Java虚拟机后,Java语言在不同平台上运行时就不需要重新编译。Java虚拟机屏蔽了与具体平台的相关信息,使得Java源程序在编译完成之后即可在不同的平台运行,可谓是“一次编译,到处运行”,Java语言的一大非常重要的特点就是跨平台,也即与平台的无关性,而这一特性的关键就是JVM。

要点总结

1.三者之间的包含关系
JDK包含JRE,JRE包含JVM,也就是说Java开发人员在安装了JDK之后就顺带安装了JRE以及JVM,对于JRE而言,我们可以单独下载安装,但是目前对于JVM并没有单独的安装包来进行安装,实际上对于实际的开发来说,并不需要独立安装JVM。
从前面的名词概念当中可以知道,JDK包含了编译以及运行的工具,而JRE只包含了运行的工具,这一点我们也可以从它们各自的安装目录下的文件看出来。
JDK8安装后的文件夹内容:

jdk的bin目录文件夹下的内容:

jre的bin目录文件夹下的内容:

2.JDK与JRE安装文件夹问题
由于JDK在安装之后默认安装了JRE,也就是说在安装了JDK之后,会在JDK的安装目录下生成一个JRE的安装目录,在版本JDK11之后JDK安装之后并不会独立的生成一个JRE的文件夹,需要注意的是,这并不是自己的JDK安装错误。
如果需要在相同目录下生成独立的JRE文件夹,可以在当前JDK的文件目录下打开cmd命令窗口,执行命令bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre 即可。
Tips:注意要以管理员的身份权限来打开cmd命令窗口,否则会出现 ‘bin\jlink.exe’ 不是内部或外部命令,也不是可运行的程序或批处理文件 的错误。


本期博文你需要思考的问题是:
对于只需要运行Java应用程序的计算机来说,是需要安装JDK还是JRE???
Tips:下期博客会附带答案哦。


以上内容均为个人学习的一点心得,其中的知识点若有错误请留言提醒,若有侵权内容提醒马上删除。

猜你喜欢

转载自blog.csdn.net/pf6668/article/details/107238258