JDK和JRE有什么区别?
2022-08-31 03:58:08
JDK和JRE有什么区别?
他们的角色是什么,我什么时候应该使用其中一个?
JRE 是 Java 运行时环境。它是运行已编译的 Java 程序所需的一切的包,包括 Java 虚拟机 (JVM)、Java 类库、命令和其他基础结构。但是,它不能用于创建新程序。java
JDK是Java开发工具包,是用于Java的全功能SDK。它具有JRE拥有的所有内容,还具有编译器()和工具(如和)。它能够创建和编译程序。javac
javadoc
jdb
通常,如果您只关心在计算机上运行Java程序,则只会安装JRE。这就是您所需要的一切。另一方面,如果您打算进行一些Java编程,则需要安装JDK。
有时,即使您不打算在计算机上进行任何Java开发,您仍然需要安装JDK。例如,如果您正在使用 JSP 部署 Web 应用程序,那么从技术上讲,您只是在应用程序服务器中运行 Java 程序。那你为什么需要JDK呢?因为应用程序服务器将 JSP 转换为 Java servlet,并且需要使用 JDK 来编译 servlet。我相信还有更多的例子。
上面的答案(由Pablo)是非常正确的。这只是附加信息。
顾名思义,JRE是一个环境。它基本上是一堆带有Java相关文件的目录,即:
bin/
包含 Java 的可执行程序。最重要的是(对于Windows来说也是如此),它启动了JVM。这里还有一些其他实用程序,例如 和 。java
javaw
keytool
policytool
conf/
保存用户可编辑的配置文件,供 Java 专家使用。lib/
有大量的支持文件:一些s,配置文件,属性文件,字体,翻译,证书等 - Java的所有“修剪”。最重要的是 ,一个包含 Java 标准库文件的文件。.jar
modules
.class
.dll
.dylib
.so
bin/
lib/
JDK 也是一组目录。它是 JRE 的超集,并添加了一些内容:
bin/
已通过开发工具进行了扩展。其中最重要的是;其他包括 和 。javac
jar
javadoc
jshell
jmods/
,其中包含标准库的 JMOD 文件,已添加。这些文件允许标准库与 一起使用。jlink