java - 为什么 java 二进制文件位于 JDK 的两个位置?

标签 java

在 Windows 上,我注意到 java 二进制文件位于两个不同的位置(我安装了 JDK):

C:\Program Files\Java\jdk1.8.0_121\bin\java.exe
C:\Program Files\Java\jdk1.8.0_121\jre\bin\java.exe

类似地,在我可以访问的 Unix 机器上,有两份副本,一份位于 jre/bin 中,一份位于 bin 中。我不确定这另一个是 JDK 还是只是 JRE 安装。

在这两种情况下,它们的大小相同。我确认它们在 Linux 端没有符号链接(symbolic link),尽管我认为它们可能是硬链接(hard link)的。

最佳答案

jdk/bin/的内容是 Java 开发人员工具包中包含的 Java 二进制文件。 jdk/jre/bin 中的 Java 二进制文件是 Java 运行时环境的二进制文件。

如果您有 Java 的 JDK 版本,请使用 jdk/bin/中的版本。

但它们是相同的

如果您查看可执行文件,实际上它们没有区别,所以这并不重要。

$ pwd
/usr/java/jdk1.7.0_45

$ ll jre/bin/java
-rwxr-xr-x. 1 root root 7718 Oct  8  2013 jre/bin/java
[saml@greeneggs jdk1.7.0_45]$ ls -l bin/java
-rwxr-xr-x. 1 root root 7718 Oct  8  2013 bin/java

$ cmp jre/bin/java bin/java
$

关于java - 为什么 java 二进制文件位于 JDK 的两个位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49284887/

相关文章:

java - 逐步从java调用javascript

java - 如何在 Java 中以 UTC 或 GMT 格式获取当前日期和时间?

java - 更改列表java的值

java - 接收来自客户端的消息

JAVA替换一个String,无需多次替换

java - !array[0].isEmpty() 返回 NullPointer?

java - 将一个 Java 类转换为不同的 Json 格式

java - 如何设置创建 Android 设备选项

java - Java 中的 String 对象不是不可变的吗?

java - 移动应用程序自身的 GPRS 设置