JDK java可执行文件与JRE可执行文件

时间:2015-01-01 20:51:35

标签: java

我将Oracle JDK安装到/usr/jdk/jdk1.8.0_25并将该目录设置为JAVA_HOME。 JAVA_HOME / bin包含java可执行文件,JAVA_HOME / jre / bin包含另一个java可执行文件。 我所遵循的指南说是将JAVA_HOME / bin和JAVA_HOME / jre / bin添加到PATH,但这是正确的可执行文件,如果我从命令行调用java,它将被使用?

3 个答案:

答案 0 :(得分:3)

以下是JDK和JRE

之间差异的简要概述

JRE表示 J ava R untime E 环境:它只包含运行java程序的二进制文件

JDK意味着 J ava D 开发 K 它:它包含用于运行java程序+二进制文件的二进制文件来编译java源代码(并生成一个java程序)。

JDK内部总是包含一个JRE(在目录<JDK_HOME>/jre下)

JRE和JDK之间的主要区别是 javac 程序。 ( javac 表示 java c ompiler ) (你还会在<JDK_HOME>/bin下找到<JDK_HOME>/jre/bin下不存在的其他一些程序:所有这些程序对于java开发都很有用 - 但在大多数情况下 - 运行java程序是没用的。

两个位置(即<JDK_HOME>/bin<JDK_HOME>/jre/bin)的所有程序都是相同的,因此区分并不是很重要。

准确回答您的问题:当您执行以 java 开头的命令行时将运行的 java 实例是 java的第一个实例在您的PATH系统变量中找到...就像任何其他程序一样。

答案 1 :(得分:0)

java的路径中更早的内容 - JAVA_HOME / bin或JAVA_HOME / jre / bin。

如果你看看安装了jdk / jre的文件夹结构,你会发现在jdk / bin文件夹中有很多二进制文件集合,比如java,javac,javap等.JRE会包含java但是不是javac,javap等我假设这是linux,你下载了压缩存档并提取了它。

答案 2 :(得分:0)

如果您真的很好奇,可以将其写入命令行:

where java

这将给出可执行文件的确切位置。在我的电脑上,这给了我

C:\ProgramData\Oracle\Java\javapath\java.exe

这是系统默认运行时java.exe的软链接(在我的情况下是C:\Program files\Java\jre 1.8.0_25\bin\java.exe